题目在这:https://leetcode-cn.com/problems/same-tree/
题目分析:
题目还是比较容易理解的,给了两个树。看是不是相同的,这里的相同要求树的结构相同,且每个节点里的数值也要相同。
思路分析:
直接递归开整!
递归出口:
1.两指针所指均为空。
2.其中一个为空。
3.两指针所指的值不相等。
上代码!!!
def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:
if not p and not q:
return True
elif not p or not q:
return False
elif p.val != q.val:
return False
else:
return self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right)
这段代码应该很好理解。
最后一句话就是调用自身,p和q指针同时向左或者向右移动,保证指向两棵树的相同位置进行比较~~~。