力扣:100. 相同的树(Python3)

题目:

给你两棵二叉树的根节点 pq ,编写一个函数来检验这两棵树是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

来源:力扣(LeetCode)

链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

示例:

示例 1:

输入:p = 1,2,3, q = 1,2,3

输出:true

示例 2:

输入:p = 1,2, q = 1,null,2

输出:false

示例 3:

输入:p = 1,2,1, q = 1,1,2

输出:false

解法:

广度遍历两棵树,空用"#"表示,判断便利结果是否相等。

知识点:

**1.BFS:**从上到下,从左到右,用队实现。

代码:

python 复制代码
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def isSameTree(self, p: Optional[TreeNode], q: Optional[TreeNode]) -> bool:
        queue_p = [p]
        result_p = []
        while queue_p:
            cur = queue_p.pop(0)
            if cur:
                result_p.append(cur.val)
                queue_p.append(cur.left)
                queue_p.append(cur.right)
            else:
                result_p.append('#')
        queue_q = [q]
        result_q = []
        while queue_q:
            cur = queue_q.pop(0)
            if cur:
                result_q.append(cur.val)
                queue_q.append(cur.left)
                queue_q.append(cur.right)
            else:
                result_q.append('#')
        return result_p == result_q
相关推荐
apocelipes9 小时前
常用编程语言和库的正则表达式性能对比
c语言·c++·python·性能优化·golang·开发工具和环境
HjhIron11 小时前
面试常客:字符串算法从入门到进阶
算法·面试
用户83562907805111 小时前
使用 Python 在 PDF 中创建与管理书签
后端·python
吴佳浩12 小时前
DeepSeek DSpark:Confidence-Scheduled Speculative Decoding 技术解析
人工智能·算法·deepseek
触底反弹13 小时前
🧠 搞懂 Token,才算真正入门大模型——从分词原理到 Embedding 语义实战
javascript·人工智能·算法
MeixianAgent15 小时前
Python 回测数据入口怎么验?历史 K 线入库前先做 5 个检查
后端·python
vivo互联网技术18 小时前
ICLR 2026 | 基于后验采样的图像恢复方法LearnIR:人脸去阴影、去雾
人工智能·算法·aigc
咕白m62519 小时前
用 Python 实现一键批量查找与替换 Excel 数据
后端·python
浮生望19 小时前
JS字符串与回文算法:从包装类到双指针的面试进阶之路
javascript·算法
黄敬峰19 小时前
面试必刷:从JS底层包装类到双指针,彻底搞懂字符串与回文算法
算法