标签:
转载请注明出处:http://blog.csdn.net/crazy1235/article/details/51541570
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.
判断两个二叉树是否一样(结构一样,每个对应的结点的值也是一样)。
递归遍历
/**
* 0ms
*
* @param p
* @param q
* @return
*/
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);
} else {
return false;
}
}
方法简单死了~
public boolean isSameTree2(TreeNode p, TreeNode q) {
return (p != null && q != null && p.val == q.val
&& isSameTree2(p.left, q.left) && isSameTree2(p.right, q.right))
|| (p == null && q == null);
}
该方法只是方法一的变形。虽然只是一句话,但是没有方法一结构清晰。
bingo~~
标签:
原文地址:http://blog.csdn.net/crazy1235/article/details/51541570