Given two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the nodes have the same value.
递归实现
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
public boolean isSameTree(TreeNode p, TreeNode q) {
if(p == null && q == null) return true;
if(p == null || q == null) return false;
if(p.val == q.val)
return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
return false;
}
时间复杂度:从代码中可以看出,需要对两棵树都进行遍历,因此时间复杂度是O(N)

本文介绍了一种通过递归方法来判断两个二叉树是否等价的有效算法。该算法首先检查两个根节点是否为空,然后比较它们的值是否相等,并继续递归地检查左右子树。

被折叠的 条评论
为什么被折叠?



