题目分析:
给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 1:
输入:
输出: true
示例 2:
输入:
输出: false
解题思路:
这一题的本质还是遍历,我用的递归遍历去判断是否相同,我想栈应该也能解决,但是本题递归效率还是很高的,所以用递归解决问题。
提交代码:(递归,Runtime: 36 ms, faster than 82.13% )
class Solution:
def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:
if p == None and q == None: return True
if p and q and p.val == q.val:
return self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right)
return False
附:
- 虽然这是第100题了但是感觉自己进步一般,我相信这是个持之以恒的过程,后续也会正常刷下去的
- 很多代码都参考了网上的(我也尽可能标记了参考博客,如有遗漏还请见谅),也有部分自己写的和网上的重合我相信这是无法避免的
- 后面的源码将不再写成测试代码,直接是提交代码了
- 幸福并不是男子汉所该追求的,加油,与君共勉