題目描述 輸入兩棵二叉樹A,B,判斷B是不是A的子結構。(ps:我們約定空樹不是任意一個樹的子結構)
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) { boolean flag = false; if (root1 != null && root2 != null){ if (root1.val == root2.val){ flag = doesTree1haveTree2(root1, root2); } if(flag == false){ flag = HasSubtree(root1.left, root2); } if(flag == false){ flag = HasSubtree(root1.right, root2); } } return flag; } public boolean doesTree1haveTree2(TreeNode root1, TreeNode root2){ if(root2 == null){ return true; } if(root1 == null || root1.val != root2.val){ return false; } return doesTree1haveTree2(root1.left,root2.left) && doesTree1haveTree2(root1.right,root2.right); }}新聞熱點
疑難解答