树的子结构
这里对树是否是子结构的判断比较经典
/**
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 (root2 == null || root1 == null) return false;
boolean result = false;
if (root1.val == root2.val){
result = check(root1,root2);
}
if (!result){
result = HasSubtree(root1.left,root2);
}
if (!result){
result = HasSubtree(root1.right,root2);
}
return result;
}
public boolean check(TreeNode root1,TreeNode root2) {
if(root1 == null && root2 != null) return false;
if(root2 == null) return true;
if(root1.val != root2.val) return false;
return check(root1.left,root2.left) && check(root1.right,root2.right);
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: 二进制中 1 的个数
下一篇: 谈谈自己对于 AOP 的了解
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论