题目:
给你两棵二叉树的根节点
p和q,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
来源:力扣(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
力扣:100. 相同的树(Python3)
恽劼恒2023-09-19 17:03
相关推荐
Starry-sky(jing)2 分钟前
onnxruntime 安装后 GPU 没加速?3 条命令确认它跑在 CPU 还是 GPU步行cgn3 分钟前
Spring AOP 实战:安全日志Matlab程序猿6 分钟前
【MATLAB源码-第459期】基于matlab的D-H模型与阻尼最小二乘逆运动学的六自由度机械臂五次轨迹规划及动力学前馈PD控制仿真。信奥卷王8 分钟前
[GESP202606 六级] 满二叉树诺伦12 分钟前
OpenAI Agents API 公测拆解:托管编排+持久会话+自有沙箱搭一条自动增长流水线 | RiseClaw玄策积流成海18 分钟前
用代码实现哈希计算器:Web Crypto API 实战Nil20826 分钟前
leetcode 300最长递增子序列坊钰36 分钟前
【LangGraph框架入门级】2. 图核心概念:State、Node、Edge 与 Reducerswewowilling38 分钟前
AI大模型开发--01Python基础(无废话)小猴子爱上树39 分钟前
跨境电商AI图片翻译工具:批量图片翻译、视频字幕翻译与智能抠图一站式解决

