
题目描述
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
我的解答
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
/** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null;
public TreeNode(int val) { this.val = val;
}
} */ public class Solution { public boolean HasSubtree(TreeNode root1,TreeNode root2) { if (null == root2) { return false; } else if (null == root1) { return false; } else { return equalsTree(root1, root2) || HasSubtree(root1.left, root2) || HasSubtree(root1.right, root2); } } private boolean equalsTree(TreeNode t1, TreeNode t2) { if (null == t2) { return true; } else if (null == t1) { return false; } else { return (t1.val == t2.val) && (equalsTree(t1.left, t2.left)) && (equalsTree(t1.right, t2.right)); } } }
|
近期评论