本文主要是介绍判断B是否是A的子结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
public class Solution {public boolean HasSubtree(TreeNode root1,TreeNode root2) {if(root2==null) return false;if(root1==null && root2!=null) return false; boolean flag = false;if(root1.val==root2.val){flag = isSubTree(root1,root2);}if(!flag){flag = HasSubtree(root1.left, root2);if(!flag){flag = HasSubtree(root1.right, root2);}}return flag;}private boolean isSubTree(TreeNode root1, TreeNode root2) {if(root2==null) return true;if(root1==null && root2!=null) return false; if(root1.val==root2.val){return isSubTree(root1.left, root2.left) && isSubTree(root1.right, root2.right);}return false;}
}
这篇关于判断B是否是A的子结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!