【劍指offer第十七題】樹的子結構
阿新 • • 發佈:2018-12-14
題目描述
輸入兩棵二叉樹A,B,判斷B是不是A的子結構。(ps:我們約定空樹不是任意一個樹的子結構)
/** 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(root1==null||root2==null) return false; return isSubTree(root1,root2)||isSubTree(root1.left,root2)||isSubTree(root1.right,root2); } public boolean isSubTree(TreeNode root1,TreeNode root2){ if(root2==null) return true; if(root1==null) return false; if(root1.val==root2.val){ return isSubTree(root1.left,root2.left)&&isSubTree(root1.right,root2.right); }else{ return false; } } }