/*
CTCI 4.10 有陷阱 注意可能会有重复的val 导致不能分部递归,为了避免重复 使用嵌套递归;
*/
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public boolean isSubtree(TreeNode s, TreeNode t) {
if(s == null) return t == null;
if(s.val == t.val){
if(helper(s, t)) return true;
}
return isSubtree(s.left, t) || isSubtree(s.right, t);
}
public boolean helper(TreeNode s, TreeNode t) {
if(s == null) return t == null;
if(t == null || s.val != t.val) return false;
return helper(s.left, t.left) && helper(s.right, t.right);
}
}
Check Subtree java 走地牙 CTCI 4.10
最新推荐文章于 2021-03-10 05:31:51 发布