http://ac.jobdu.com/problem.php?cid=1040&pid=35

题目描述:
判断两序列是否为同一二叉搜索树序列
输入:
开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束。
接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。
接下去的n行有n个序列,每个序列格式跟第一个序列一样,请判断这两个序列是否能组成同一颗二叉搜索树。
输出:

如果序列相同则输出YES,否则输出NO

样例输入:
2
567432
543267
576342
0
样例输出:
YES
NO
// 题目35:二叉排序树.cpp: 主项目文件。#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;const int N=13;//bool flag;typedef struct BitNode
{int value;BitNode *lchild,*rchild;
}BitNode,*BiTree;void InserNode(BitNode *&root, int key)
{if(root==NULL){root=(BitNode *)malloc(sizeof(BitNode));root->value=key;root->lchild=NULL;root->rchild=NULL;}else{if(root->value<key)InserNode(root->rchild,key);else if(root->value>key)InserNode(root->lchild,key);elsereturn;}
}bool isEqual(BitNode *&root1,BitNode *&root2)
{if(root1==NULL&&root2==NULL)return true;if(root1==NULL&&root2!=NULL)return false;if(root1!=NULL&&root2==NULL)return false;if(root1->value!=root2->value)return false;elsereturn isEqual(root1->lchild,root2->lchild)&&isEqual(root1->rchild,root2->rchild);
}int main()
{freopen("F:\\test.txt","r",stdin);freopen("F:\\output.txt","w",stdout);int n;while(cin>>n&&n!=0){char str1[N];scanf("%s",str1);BitNode *root1=NULL;for(int i=0;str1[i];i++)InserNode(root1,str1[i]);while(n--){char str2[N];scanf("%s",str2);BitNode *root2=NULL;for(int i=0;str2[i];i++)InserNode(root2,str2[i]);if(isEqual(root1,root2))cout<<"YES"<<endl;elsecout<<"NO"<<endl;}}return 0;
}

转载于:https://www.cnblogs.com/cjweffort/archive/2013/03/05/3374906.html

题目36:二叉搜索树相关推荐

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

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

  2. 【LeetCode】剑指 Offer 36. 二叉搜索树与双向链表

    [LeetCode]剑指 Offer 36. 二叉搜索树与双向链表 文章目录 [LeetCode]剑指 Offer 36. 二叉搜索树与双向链表 package offer;//定义节点 class ...

  3. 【Java】 剑指offer(36) 二叉搜索树与双向链表

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不 ...

  4. 剑指Offer - 面试题36. 二叉搜索树与双向链表(中序循环/递归)

    1. 题目 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表.要求不能创建任何新的节点,只能调整树中节点指针的指向. 特别地,我们希望可以就地完成转换操作.当转化完成以后,树中节点的左指 ...

  5. 【LeetCode笔记】剑指 Offer 36. 二叉搜索树与双向链表(Java、二叉树、链表、原地算法)

    文章目录 题目描述 思路 && 代码 1. 非原地算法 2. 原地算法 二刷 题目描述 谈到二叉搜索树,那就得考虑考虑中序遍历啦- 这道题对中序遍历的理解提升很有好处! 思路 & ...

  6. leetcode —— 面试题36. 二叉搜索树与双向链表

    输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表.要求不能创建任何新的节点,只能调整树中节点指针的指向. 解题思路:二叉搜索树的特点是当前节点的左子树的值小于当前节点,当前节点的右子树的 ...

  7. 力扣题目——235. 二叉搜索树的最近公共祖先

    注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路.( 描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 最近公共祖先 ...

  8. 剑指offer面试题36. 二叉搜索树与双向链表(中序遍历)(递归)

    题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表.要求不能创建任何新的节点,只能调整树中节点指针的指向. 思路 详见链接 代码 #class Node: # def __ini ...

  9. [剑指offer] 36. 二叉搜索树与双向链表

    题目 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表.要求不能创建任何新的节点,只能调整树中节点指针的指向. 需要返回双向链表最左侧的节点. 思路 1 排序链表:利用二叉搜索树的中序遍 ...

  10. 【算法】剑指 Offer 36. 二叉搜索树与双向链表

    1.概述 地址:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-yu-shuang-xiang-lian-biao-lcof/ /* // De ...

最新文章

  1. 【深度】清华黄高等人新作:动态神经网络首篇综述
  2. Altiris 7.1 安装
  3. Spring CommonsMultipartResolver 上传文件
  4. 巧用Angular项目的get设置Angular class属性访问的别名
  5. http超文本传输协议
  6. linux 系统 可视化工具实时监控_Linux上的实时监控平台-你需要这样做
  7. URI 、URL 和 URN
  8. 273.整数转换英文表示
  9. 多线程与多进程之间比较
  10. 【SSL】2021-08-18 1286.恶作剧
  11. 排队论----学习反馈
  12. You must address the points described in the following [1] lines before starting Elasticsearch.
  13. CTO也糊涂的常用术语:功能模块、业务架构、用户需求、文档……
  14. pygame 精灵精灵组
  15. 手机ufs2.1测试软件,内置UFS2.1:小米9手机闪存速度测试
  16. 最后介绍几个对程序员非常重要的24个软技能
  17. mongodb-18.聚合查询练习1
  18. 计算机配置好坏怎么看,查看电脑配置状况好坏的技巧
  19. [教程] 米4终极救黑砖教程 有用
  20. 小白前端自制红警登陆界面(试水前端)

热门文章

  1. 嵌入式Linux入门8:rootfs移植
  2. ffmpeg 2.6.3在Linux下的编译
  3. 服务器怎么用u盘传文件进去_云服务器无法使用USB设备?一文读懂如何在云服务器上使用优盘...
  4. python生物数据分析师职业技能_数据分析师需要什么技能,数据分析行业都有什么职业?...
  5. 【算法】二进制 与、或、异或运算
  6. 【Elasticsearch】父子聚合 can‘t specify parent if no parent field has been configured
  7. 【clickhouse】clickhouse 表引擎之 Buffer
  8. 60-10-050-命令-kafka-broker-api-versions.sh
  9. 【Kafka】kafka This may indicate that authentication failed due to invalid credentials
  10. Maven : jenkins 报错 solution will not be attepmted utils the update interval of nexus has elapse