Subtree of Another Tree
Overview
Categories
TreeDepth-First SearchString MatchingBinary TreeHash Function
package tree.recursive;
import tree.TreeNode;
public class SubtreeOfAnotherTree {
private boolean isSame(TreeNode a, TreeNode b) {
return (a == null || b == null) ? a == b : a.val == b.val && isSame(a.left, b.left) && isSame(a.right, b.right);
}
public boolean isSubtree(TreeNode root, TreeNode subRoot) {
return root != null && (isSame(root, subRoot) || isSubtree(root.left, subRoot) || isSubtree(root.right, subRoot));
}
}