题目:
给你两棵二叉树的根节点
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
相关推荐
MATLAB代码顾问26 分钟前
Python实现蜂群算法优化TSP问题代码飞天30 分钟前
机器学习算法和函数整理——助力快速查阅yaodong51838 分钟前
不会Python也能数据分析:Gemini 3.1 Pro解决办公问题的SQL自动生成jiushiapwojdap38 分钟前
LU分解法求解线性方程组Matlab实现BU摆烂会噶1 小时前
【LangGraph】持久化实现的三大能力——时间旅行笨笨饿1 小时前
69_如何给自己手搓一个串口纽扣6672 小时前
【算法进阶之路】链表进阶:删除、合并、回文与排序全解析消失的旧时光-19432 小时前
统一并发模型:线程、Reactor、协程本质是一件事(从线程到协程 · 第6篇·终章)智者知已应修善业2 小时前
【51单片机不用数组动态数码管显示字符和LED流水灯】2023-10-3AI进化营-智能译站3 小时前
ROS2 C++开发系列16-智能指针管理传感器句柄|告别ROS2节点内存泄漏与野指针

