题目:给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。
思路分析:对于给定的两棵二叉树,先判断是否出现两个当前所指结点一个为空另一个不空的情况,再判断是否都为空,用了当前结点的索引 i,j 是否为null,如果两个结点都不为空且数据相同,再递归判断(T1的左子树与T2的左子树 且 T1的右子树与T2的右子树)或(T1的左子树与T2的右子树 且 T1的右子树与T2的左子树是否同构)即可,需要注意的是我的IsEmpty函数并不是判断当前结点是否为空,而是判断当前结点是否没有后继结点。
给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。
图1 |
现给定两棵树,请你判断它们是否是同构的。 |
输入格式:
输入给出2棵二叉树树的信息。对于每棵