剑指 Offer 26. 树的子结构(java & python)
作者:互联网
java:
没有感情的递归
class Solution {
public boolean isSubStructure(TreeNode A, TreeNode B) {
return ( A != null && B != null ) && (judge( A, B ) || isSubStructure( A.left, B) ||isSubStructure(A.right, B));
}
public boolean judge(TreeNode A, TreeNode B){
if( B == null ){
return true;
}
if( A == null || A.val != B.val ){
return false;
}
return judge( A.left, B.left ) && judge( A.right, B.right );
}
}
python3:
class Solution:
def isSubStructure(self, A: TreeNode, B: TreeNode) -> bool:
def judge(A, B):
if B == None:
return True
if A == None or A.val != B.val:
return False
return judge(A.left,B.left) and judge(A.right,B.right)
return (A != None and B !=None) and (judge(A, B) or self.isSubStructure(A.left, B) or self.isSubStructure(A.right, B))
标签:26,right,return,python,子结构,judge,TreeNode,left,isSubStructure 来源: https://blog.csdn.net/qq_45908682/article/details/122000793