备考蓝桥杯,相同的树

一、题意

给你两棵二叉树的根节点 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则是判断这两个节点的值是否相等!

相关推荐
2601_961845421 天前
高考真题试卷电子版|2025高考全科试卷分类下载
考研·面试·蓝桥杯·远程工作·程序员创富·高考
2601_961194025 天前
教资科三美术考什么|初中高中美术题型考点和模板资料
leetcode·elasticsearch·职场和发展·蓝桥杯·pat考试·lucene
h_a_o777oah5 天前
2026 蓝桥杯软件 C++B组 国赛比赛经历及备赛建议
c++·经验分享·算法·蓝桥杯
迈巴赫车主6 天前
蓝桥杯21241灯塔java
java·开发语言·数据结构·算法·职场和发展·蓝桥杯·动态规划
大学竞赛君6 天前
第十六届蓝桥杯大赛软件赛决赛 Python 大学 A 组
python·职场和发展·蓝桥杯
此生决int7 天前
算法从入门到精通——字符串
数据结构·c++·算法·蓝桥杯
飞天狗1118 天前
2024第十五届蓝桥杯c/c++B组国赛题解
c语言·数据结构·c++·算法·蓝桥杯
casual~9 天前
十六届蓝桥杯国赛个人题解
经验分享·学习·算法·蓝桥杯
wanderist.9 天前
14决赛蓝桥杯
职场和发展·蓝桥杯
飞天狗11111 天前
2025第十六届蓝桥杯c/c++B组国赛题解
c语言·c++·算法·蓝桥杯