判断两棵二叉树是否为同一棵树,需要比较两个方面:
一:结构是否相同;
二:每个节点上的元素是否相同;
当二者都满足的时候才可判定二者为同一棵二叉树。
结构相同包括节点的个数以及每个节点上的子树相同。
下面是代码实现。
#include<iostream>
using namespace std;
typedef struct Node* TNode;
struct Node{
int data;
TNode left;
TNode right;
};
void Print(TNode T);
TNode BuildTree(TNode T, int N); //建立二叉树
TNode Insert(TNode T,int i); //在树中插入一个元素
bool Compare(TNode T1, TNode T2); //比较两个二叉树是不是同一棵树
int main()
{
int N, L;
TNode T;
cin >> N;
while(N != 0){