题目:http://acm.hdu.edu.cn/showproblem.php?pid=3791

先建立二叉排序树,然后进行比较。比较时采用递归。

代码:

#include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct node{//树节点数据结构定义; int data; struct node *left,*right; }*BiTree,BTNode; void insert(BiTree &t, BiTree s)//插入节点; { if(s==NULL)return; BiTree p,temp; if(t==NULL){ t=s; } else{ p=t; while(p!=NULL){ temp=p; if(s->data<p->data){//往左; p=p->left; } else{//往右; p=p->right; } } if(s->data<temp->data){//插入到左子树; temp->left=s; } else{//插入到右子树; temp->right=s; } } } int check(BiTree s,BiTree t){//比较两树是否相同;0表示相同,否则不相同; if(s==NULL&&t==NULL){ return 0; } else if((s==NULL&&t!=NULL)||(s!=NULL&&t==NULL)){ return 1; } else{ if(s->data!=t->data){ return 1; } else{ return check(s->left,t->left)+check(s->right,t->right); } } } int main(){ int n,len1,len2,i,result; char s[11],q[11]; while(scanf("%d",&n)!=EOF){ if(n==0)break; getchar(); scanf("%s",s); len1=strlen(s); BiTree t; t=NULL; for(i=0;i<len1;i++)//建立示范序列的二叉树; { BiTree p; p=(BiTree)malloc(sizeof(BTNode)); p->data=s[i]-'0'; p->left=NULL; p->right=NULL; insert(t,p); } while(n--){ scanf("%s",q); len2=strlen(q); BiTree r; r=NULL; for(i=0;i<len1;i++)//建立示范序列的二叉树; { BiTree p; p=(BiTree)malloc(sizeof(BTNode)); p->data=q[i]-'0'; p->left=NULL; p->right=NULL; insert(r,p); } result=check(r,t); if(result==0){ printf("YES/n"); } else{ printf("NO/n"); } } } }

HDOJ3791 二叉搜索树相关推荐

  1. LeetCode简单题之二叉搜索树的最小绝对差/最小距离

    题目 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 . 差值是一个正数,其数值等于两值之差的绝对值. 示例 1: 输入:root = [4,2,6,1,3] 输出: ...

  2. LeetCode简单题之二叉搜索树的范围和

    题目 给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和. 示例 1: 输入:root = [10,5,15,3,7,null,18], low = 7, ...

  3. 【剑指Offer】23、二叉搜索树的后序遍历序列

      题目描述:   输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同.   解题思路:   对于后续遍历序列,序 ...

  4. 消除左递归实验代码_「leetcode」108. 构造二叉搜索树【递归】【迭代】详解!

    构造二叉搜索树,一不小心就平衡了 ❞ 108.将有序数组转换为二叉搜索树 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树 ...

  5. 剑指offer:面试题36. 二叉搜索树与双向链表

    题目: 二叉搜索树与双向链表 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表.要求不能创建任何新的节点,只能调整树中节点指针的指向. 为了让您更好地理解问题,以下面的二叉搜索树为例: ...

  6. 剑指offer:面试题33. 二叉搜索树的后序遍历序列

    题目:二叉搜索树的后序遍历序列 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回 true,否则返回 false.假设输入的数组的任意两个数字都互不相同. 参考以下这颗二叉搜 ...

  7. 二叉树:二叉搜索树实现 逆序数问题

    关于逆序数的问题描述如下: 已知数组nums,求新数组count,count[i]代表了在nums[i]右侧且比 nums[i]小的元素个数. 例如: nums = [5, 2, 6, 1], cou ...

  8. 二叉树:二叉搜索树的编码和解码

    二叉搜索树的编码和解码描述: 编码:即将一个二叉搜索树编码,节点数值转换为字符串 解码:即将一个字符串解码,数值转换为对应的二叉搜索树的节点 过程导图如下: 针对性编码实现如下: /*数字转字符串*/ ...

  9. 二叉树:二叉搜索树的创建和插入

    二叉搜索树又名二叉排序树. 大概简略的思维导图如下,方便记忆特性 基本二叉搜索树创建过程如下 /*数据结构如下*/ typedef struct tree {int data;struct tree ...

最新文章

  1. 云校庆系列活动 | 软件定义新基建,数据驱动新未来
  2. 彩色图像--色彩空间 YIQ 、YUV 、YCbCr 、YC1C2 和I1I2I3
  3. CTFshow php特性 web144
  4. JDK1.8新特性之时间和日期的使用
  5. oracle管理员登录报错,关于Oracle使用管理员账号登录失败的问题
  6. MySQL数据库进阶(API的理解、Python对MySQL的接口)
  7. 如何从wireshark 抓包中的RTP导出 H.264 PAYLOAD,变成可用暴风直接播放的H264 裸码流文件
  8. java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory的解决(转)
  9. Python实验-字典攻击
  10. mysql数据库安装教程(超级超级详细)
  11. 产品 电信nb接口调用_NB-IOT开发流程---基于中国电信物联网平台实现平台对接
  12. Tuxedo中间件常用命令
  13. 四川理工学院计算机学院在哪里,四川理工计算机学院
  14. 网际风全推数据接口_网际风数据接口飞狐交易师版简要说明.doc
  15. 应届生比老员工更吃香?为什么大厂都在抢应届生
  16. 什么叫wipe,安卓用户如何去wipe?
  17. html中改变图标颜色,使用CSS更改图标的颜色
  18. java基础学安卓开发_Android开发学习路线之Java基础学习
  19. LeetCode—494. 目标和(Target Sum)——分析及代码(Java)
  20. 为什么特斯拉Q2业绩能超预期?

热门文章

  1. [JetBrains Rider] 在保存文件时自动更新文件头的方法
  2. layui + echarts股票K线图(含案例、代码、截图)(转载篇)
  3. MUI框架:栅格系统 + grid宫格布局 - 案例篇
  4. MUI 图片上传、预览、删除重选等等实现
  5. ios 裁剪圆形头像_IOS_iOS如何裁剪圆形头像,本文实例为大家介绍了iOS裁剪 - phpStudy...
  6. WordPress-Lolimeow佛系简约主题 v1.6
  7. php下载页下载隐藏真实文件地址,php如何隐藏实际文件下载地址
  8. yaesu7800 维修手册_《YAESU 八重洲 FT-7800系列 维修手册》.pdf
  9. 帝国CMS7.5仿hao123漫画网站模板动态版
  10. 小程序功能模块-飞鱼知识变现小程序2.5.3源码