本文主要是介绍【剑指Offer 26】树的子结构,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
/**
* 剑指 Offer 26. 树的子结构
* https://leetcode.cn/problems/shu-de-zi-jie-gou-lcof/
* */
public class Solution {
public boolean isSubStructure(TreeNode A, TreeNode B) {
if (A == null || B == null) {
return false;
}
if (isEquals(A, B)) {
return true;
}
return isSubStructure(A.left, B) || isSubStructure(A.right, B);
}
public boolean isEquals(TreeNode a, TreeNode b) {
// 子树已遍历完
if (b == null) {
return true;
}
// 子树未完但主树已完
if (a == null) {
return false;
}
if (a.val != b.val) {
return false;
}
return isEquals(a.left, b.left) && isEquals(a.right, b.right);
}
}
这篇关于【剑指Offer 26】树的子结构的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!