【LeetCode】100. Same Tree 解题报告(Python)

题目分析:

给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 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

参考博客

附:

  1. 虽然这是第100题了但是感觉自己进步一般,我相信这是个持之以恒的过程,后续也会正常刷下去的
  2. 很多代码都参考了网上的(我也尽可能标记了参考博客,如有遗漏还请见谅),也有部分自己写的和网上的重合我相信这是无法避免的
  3. 后面的源码将不再写成测试代码,直接是提交代码了
  4. 幸福并不是男子汉所该追求的,加油,与君共勉
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值