看题意,需要使用递归,核心在于设计递归的出口:
1: p == null 而 q !=null 或 p!=null 而 q== null 即 p == null ^ q == null
2:弱完全相等,最后必定是 p == null && q== null
代码:
class Solution {
public boolean isSameTree(TreeNode p, TreeNode q) {
if (p == null ^ q == null) {
return false;
}
if (p == null && q == null) {
return true;
}
return isSameTree(p.left, q.left) && isSameTree(p.right, q.right) && p.val == q.val;
}
}
结果: