备考蓝桥杯,相同的树

一、题意

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

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

示例 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.代码的实现

c 复制代码
# 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:
        if p is None or q is None:
            return p is q
        return p.val==q.val and self.isSameTree(p.left,q.left) and self.isSameTree(p.right,q.right)

总结

if p is None or q is None:判断q和p有没有空的,如果有空的就返回p是否为q

如果p为空,q不为空则返回False,如果p和q都是空的,返回True

因为判断是否两个树相等,所以递归检查左边和左边,右边和右边是不是相等。

p.val==q.val则是判断这两个节点的值是否相等!

相关推荐
一轮弯弯的明月1 天前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得
liu****1 天前
第16届省赛蓝桥杯大赛C/C++大学B组(京津冀)
开发语言·数据结构·c++·算法·蓝桥杯
hnjzsyjyj1 天前
洛谷 P8749:[蓝桥杯 2021 省 B] 杨辉三角形 ← 组合数 + 二分
蓝桥杯·二分·杨辉三角·组合数
Lauren_Blueblue1 天前
第十六届蓝桥杯省赛Python研究生组-F串
python·算法·蓝桥杯·算法基础
仟濹1 天前
【算法打卡day39(2026-04-06~08 周一~周三)】(10道蓝桥杯真题)今日练习:蓝桥杯第13届省赛B组Cpp组
算法·职场和发展·蓝桥杯
小年糕是糕手1 天前
【35天从0开始备战蓝桥杯 -- Day9】
数据结构·数据库·c++·算法·蓝桥杯
List<String> error_P2 天前
蓝桥杯最后几天冲刺
蓝桥杯
Tanecious.2 天前
蓝桥杯备赛:Day8-小苯的异或和
c++·蓝桥杯
Lauren_Blueblue2 天前
第十六届蓝桥杯省赛Python研究生组-C变换数组
python·算法·蓝桥杯·编程基础
Tanecious.2 天前
蓝桥杯备赛:Day8-小红杀怪
c++·蓝桥杯