本题和【剑指offer】26. 树的子结构很像,但是注意在空值判定上要更严格。
执行用时:3 ms, 在所有 Java 提交中击败了86.35%的用户
内存消耗:38.5 MB, 在所有 Java 提交中击败了74.28%的用户
通过测试用例:182 / 182
class Solution {
public boolean isSubtree(TreeNode A, TreeNode B) {
if (B == null)
return true;
if (A == null)
return false;
return (recur(A, B) || isSubtree(A.left, B) || isSubtree(A.right, B));
}
private boolean recur(TreeNode A, TreeNode B) {
if (B == null && A == null) return true;
if (A == null || B == null) return false;
if (A.val != B.val) return false;
return recur(A.left, B.left) && recur(A.right, B.right);
}
}



