1. 判断二叉树是否相同,左右孩子互换也认为相同,要求纸上写出全部代码
#include <iostream>
using namespace std;
typedef struct AA{
AA *l, *r;
int data;
}Node;
Node tree1[10];
Node tree2[10];
/*
bool bitree_cmp(Node *n1, Node *n2)
{
int cnt1 = 0, cnt2=0;
bool ans = false;
if ( n1 == NULL && n2 == NULL )
return true;
if ( (n1 == NULL && n2 != NULL) || (n1 != NULL && n2 == NULL))
return false;
if ( n1->data != n2->data )
return false;
if ( n1->l )
++cnt1;
if ( n2->r )
++cnt1;
if ( n2->l )
++cnt2;
if ( n2->r )
++cnt2;
if ( cnt1 != cnt2 )
return false;
if ( cnt1 == 0 )
return true;
ans = bitree_cmp(n1->l, n2->l) && bitree_cmp(n1->r, n1->r);
if ( ans )
return true;
ans = bitree_cmp(n1->l, n2->r) && bitree_cmp(n1->r, n2->l);
return ans;
}
*/
bool bitree_cmp(Node *n1, Node *n2)
{
if ( n1 == NULL && n2 == NULL )
return true;
if ( n1 != NULL && n2 != NULL )
{
if ( n1->data == n2->data )
{
return ( bitree_cmp(n1->l, n2->l)&&bitree_cmp(n1->r, n2->r) ) || ( bitree_cmp(n1->l, n2->r)&&bitree_cmp(n1->r, n2->l) );
}
}
return false;
}
void read_data(Node *tree, int i)
{
int data, l , r;
scanf("%d%d%d",&data, &l, &r);
tree[i].data = data;
if ( l )
tree[i].l = &tree[l];
else
tree[i].l = NULL;
if ( r )
tree[i].r = &tree[r];
else
tree[i].r = NULL;
}
int main()
{
int n1, n2;
int l, r, data;
int i = 0;
scanf("%d", &n1);
while(n1--)
{
read_data(tree1, i);
++i;
}
scanf("%d", &n2);
i = 0;
while(n2--)
{
read_data(tree2, i);
++i;
}
cout<<bitree_cmp(tree1, tree2)<<endl;
cin>>i;
return 0;
}
/*
测试数据:
1 1
2 2 2 2
3 4 6 7 6 7 4 3
从这开始:
7
1 1 2
2 3 4
2 5 6
3 0 0
4 0 0
6 0 0
7 0 0
7
1 1 2
2 3 4
2 5 6
7 0 0
6 0 0
3 0 0
4 0 0
7
1 1 2
2 3 4
2 5 6
3 0 0
4 0 0
6 0 0
7 0 0
7
1 1 2
2 3 4
2 5 6
3 0 0
4 0 0
6 0 0
7 0 0
*/
分享到:
相关推荐
C++笔试面试题带答案.docx c++笔试题汇总.pdf C++经典面试题库 附带参考答案.docx C++语言程序设计试题.docx CC++面试问题分类大汇总.docx C_C++笔试题大全.doc gamesloft C++面试题目.docx 常见C++笔试题目整理(含...
下面,我们将深入探讨一些可能出现在C#笔试面试中的关键知识点。 一、基础语法 1. 变量与数据类型:理解C#中的基本数据类型(如int、string、bool等)以及引用类型,了解变量声明和初始化的规则。 2. 控制流:包括...
JAVA编程题全集(100题及答案).doc java面试书籍源码 Java面试文档题库 Java面试笔试题库.CHM Java面试问题集.pdf Java面试题以及答案(小生).pdf java面试题(题库全).doc JS 数据库答案.doc Land.the.Tech.Job.You....
而笔试题则可能包含编程题、逻辑推理题和数学问题,旨在测试候选人的创新思维和实际操作能力。 百度作为中国最大的搜索引擎公司,其面试笔试同样重视技术深度和广度。可能会考察你对搜索引擎原理的理解,比如网页...
《信息科技笔试面试题》这份压缩包集合了多种IT行业的面试和笔试题目,特别是针对银行领域的面试问题。这些资源对于准备进入IT行业,尤其是银行IT部门的求职者来说,是极有价值的参考资料。以下是对其中涉及知识点的...
这份"java笔试编程题(小合集)"包含了几套精选的Java编程题目,旨在帮助准备Java笔试或面试的朋友进行有针对性的练习。 第一份文档《最新JAVA编程题全集(50题及答案).doc》提供了五十道Java编程题目,并附带了答案,...
Java作为一门广泛使用的编程语言,其面试笔试题涵盖了众多领域,包括基础语法、面向对象、集合框架、多线程、异常处理、IO流、网络编程、数据库操作、设计模式、JVM优化等。以下是对这些知识点的详细阐述: 1. **...
"最新各互联网BAT等笔试面试真题复习资料"这一标题明确指出了这份资源的内容核心,即互联网行业内知名企业,特别是BAT(百度、阿里巴巴、腾讯)的笔试和面试真题集,用于考生的复习准备。这些资料通常包含了各种技术...
公司出的JAVA面试编程题,具有极高的参考实用性,对即将要参加面试的帮助很大
在求职过程中,笔试和面试是两个至关重要的环节,智力题的出现则往往能评估候选人的逻辑思维、问题解决和创新能力。这些题目不仅测试了应聘者的专业知识,还考察了他们在压力下的反应速度和应对复杂问题的能力。下面...
《100个大学毕业生求职笔试面试真题大全》是一个为即将步入职场的大学生们精心准备的资源集合,旨在帮助他们在求职过程中顺利通过笔试和面试的挑战。这份压缩包文件包含了一个173页的“下载地址目录单”文档以及一个...
里面有很多IQ题,超考智力,也许面试笔试时候可以用上。其中也有不少微软,谷歌的,超经典。美中不足的是答案要自己找。嘻嘻
文档包含C语言,简答(包含一些面试高概率问题)、程序分析题(包含编程中常见错误现象,内存越界,非法操作,段错误分析等)、编程题(30道编程题,涵盖了面试常见题型,以及C语言经典程序)。学习,检测,准备面试,都是...
最全的j2EE面试题,题量大、经典,是我面试的...9、java面试题编程篇 10、Oracle面试题 11、Oracle企业面试题集锦 12、Spring面试题 13、SSH面试题 14、Strut+Spring+Hibernate面试题 15、张孝祥整理Java就业面试题大全
以上内容覆盖了C#笔试面试中的核心知识点,通过系统学习和练习,可以有效提升你在各大软件公司的面试竞争力。同时,文档"net面试题大全(有答案).doc"和"面试宝典.pdf"以及"各个公司面试题"提供了丰富的实战题目,...
Java笔试面试题是Java开发者在求职过程中必须面对的重要环节,涵盖了基础语法、数据结构、算法、JVM、多线程、网络、设计模式等多个方面。以下是对这些知识点的详细解析: 1. **Java基础语法**:这是Java学习的起点...
编程经典笔试面试题集合中,可能会有递归、字符串处理、内存管理等常见编程问题。 3. **电子类公司笔试题**:针对电子工程师的岗位,这类题目会侧重于电路分析、模拟电子、数字电子等方面。比如8位嵌入式程序员应...
"常见Linux嵌入式开发C语言笔试面试题" 本文总结了Linux嵌入式开发C语言笔试面试题中的重要知识点,包括进程和线程的基本概念、多进程和多线程的优缺点、进程和线程的状态转换、父进程和子进程的关系、进程通信的...
这份名为“IT常见笔试面试题”的资料,无疑是为毕业生和求职者提供了一个宝贵的准备工具。以下是对这些常见题型的详细解读,希望能帮助你更好地理解和应对IT行业的面试挑战。 一、编程能力 在IT面试中,编程能力是...
JAVA笔试面试资料JDBC HTTP、JSP、Servlet、Struts面试题汇总资料: 2014年最新Java笔试题及答案.docx 225道Java面试题 学会了Java面试随你问.docx Ant和Maven的作用是什么?两者之间功能、特点有哪些区别?.docx ...