要判断给定的两颗二叉树是否相同,就递归遍历它们的所有子节点并进行判断代码如下:
//判断两颗树是否相同
public bool IsSameTree(TreeNode p, TreeNode q)
{
if (p == null && q == null) return true;
if (p != null && q == null) return false;
if (p == null && q != null) return false;
if (p.val != q.val) return false;
return IsSameTree(p.left,q.left) && IsSameTree(p.right, q.right);
}
public class TreeNode {
public int val;
public TreeNode left;
public TreeNode right;
public TreeNode(int x) {
val = x;
}
}