【树-简单】100. 相同的树

【简单】力扣算法题解析LeetCode100:相同的树 本题要求判断两棵二叉树是否相同(结构相同且节点值相同)。通过递归深度优先搜索(DFS)实现:若两节点均为空则返回true,若一空一非空或节点值不等则返回false,否则递归检查左右子树。时间复杂度O(n),空间复杂度O(h)(树高)。Java代码简洁高效,利用短路优化提升性能。示例与图解清晰展示不同情况,适合初学者理解二叉树递归遍历。 关键词:二叉树、递归、DFS、结构比较、节点值 阅读详情

【题目】

【代码】
在这里插入图片描述

class Solution:
    def preOrder(self,root,flag,depth):
        if not root:
            return
        self.a_pre[flag].append(str(root.val)+str(depth))
        self.preOrder(root.left,flag,depth+1)
        self.preOrder(root.right,flag,depth+1)
    
    def inOrder(self,root,flag,depth):
        if not root:
            return
        self.inOrder(root.left,flag,depth+1)
        self.b_in[flag].append(str(root.val)+str(depth))
        self.inOrder(root.right,flag,depth+1)

    def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:
        self.a_pre=[[],[]]
        self.b_in=[[],[]]
        self.preOrder(p,0,0)
        self.preOrder(q,1,0)
        self.inOrder(p,0,0)
        self.inOrder(q,1,0)
        print(self.a_pre)
        print(self.b_in)
        return self.a_pre[0]==self.a_pre[1] and self.b_in[0]==self.b_in[1]

【简化版本】
在这里插入图片描述

class Solution:
    def preOrder(self,root,flag,depth):
        if not root:
            return
        self.a_pre[flag].append(str(root.val)+str(depth))
        self.preOrder(root.left,flag,depth+1)
        self.b_in[flag].append(str(root.val)+str(depth))
        self.preOrder(root.right,flag,depth+1)
    
    def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:
        self.a_pre=[[],[]]
        self.b_in=[[],[]]
        self.preOrder(p,0,0)
        self.preOrder(q,1,0)
        return self.a_pre[0]==self.a_pre[1] and self.b_in[0]==self.b_in[1]

【广度优先】
在这里插入图片描述

class Solution:
    def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:
        if not p or not q:
            return p==q
        ans=[[],[]]
        loc=[[],[]]
        def deal(flag):
            depth=0
            while queue_p:
                sz=len(queue_p)
                for i in range(sz):
                    node=queue_p.pop(0)
                    print(node.val)
                    ans[flag].append((node.val,depth))
                    if node.left:
                        queue_p.append(node.left)
                        loc[flag].append(0)
                    if node.right:
                        queue_p.append(node.right)
                        loc[flag].append(1)
                depth+=1
        queue_p=[p]
        deal(0)
        queue_p=[q]
        deal(1)
        return ans[0]==ans[1] and loc[0]==loc[1]

【方法4】
在这里插入图片描述

class Solution:
    def preOrder(self,p,q):
        if not p or not q:
            return p is None and q is None
        elif p.val!=q.val:
            return False
        return self.preOrder(p.left, q.left) and self.preOrder(p.right,q.right)
    
    def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:
        return self.preOrder(p,q)

【方法5】
在这里插入图片描述

class Solution:
    def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:
        if not p or not q:
            return not p and not q
        elif p.val!=q.val:
            return False
        return self.isSameTree(p.left,q.left) and self.isSameTree(p.right,q.right)
数据去重复_京东商品评论情感分析|文本数据预处理 本文爬取了十款热销手机的文本评论数据后,首先对文本评论数据做文本预处理,文本评论数据中存在大量的无价值信息,引入无用的文本数据,对其作情感分析,显然没有价值,得出的文本挖掘结果也不尽人意。所以对于文本评论数据先进行文本预处理是必不可少的一步,把大量的、冗余的、无价值的信息去除,可以极大提高文本数据的质量,精确文本分析结果。1 文本去重1.1文本去重的原因文本数据预处理时,首先应去除文本评论数据中反... 阅读详情

相关推荐

AD域控设置客户端桌面壁纸

此时再右键wallpaper文件夹,共享选项下的网络路径已经有了。找到该域下的组策略编辑器(第一步有)并按照图下所示找到桌面壁纸的策略设置,点击进去。在高级共享里可以设置共享名和同时共享的用户数量限制。点击下拉箭头,找到Everyone并选择,点击添加后,点击共享。然后可以看到刚才的新建文件夹策略在域控服务器和客户端都生效了。右键wallpaper文件夹->属性,点击共享选项,点击共享。在弹出的窗口里,按照图下所示设置,点击应用并且确认。在弹出的窗口里,按图示找到文件夹,右键新建文件夹。

欲买桂花同载酒的博客 6057

LeetCode-100、相同的树-简单

LeetCode-100、相同的树-简单 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例1: 输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3] 输出: true ...

clover_my的博客 125

华为Watch的ECG功能技术分析

华为Watch的ECG(心电图)功能通过硬件传感器、算法优化和医疗认证的结合,实现了对心脏电活动的监测和房颤(AFib)等心律失常的预警。采用医疗级ECG模拟前端芯片(AFE),如TI(德州仪器)的ADS1292R等,支持低噪声、高采样率(通常≥200Hz)。结合PPG(光学心率)数据交叉验证,提高检测可靠性(如ECG和PPG心率不一致时触发警告)。通过RR间期变异性判断心律是否规则,识别房颤(AFib)的典型特征(如不规则不规则心律)。结合加速度计数据,识别手臂运动导致的信号失真,动态调整算法参数。

xu_wenming的博客 6447

【LeetCode】第100题——相同的树(难度:简单)

【LeetCode】第100题——相同的数(难度:简单)题目描述解题思路代码详解方法一:DFS方法二:BFS注意点 题目描述 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: 输出: true 示例 2: 输入: 输出: false 示例 3: 输入: 输出: false 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/same-tree 著作

Se7en_Dayz的博客 244

智能座舱架构与芯片- (10) 音频篇 下

若将有限个 量化样值的绝对值从小到大依次排列,并对应地依次赋予一个十进制数字代码(例如,赋予样值0的十进制数字代码为0),在码前以“+”、“-”号为前缀,来 区分样值的正、负,则量化后的抽样信号就转化为按抽样时序排列的一串十进制数字码流,即十进制数字信号。如果声学密封不牢,来自内部结构的噪声可能到达传感器,两个传感器之间的泄漏可能降低BF算法的性能。未来,随着汽车电动化的普及,传统的ANC降噪所针对的发动机噪音已经不复存在,而路噪问题将越发明显,因此,全新的RNC主动路噪消减技术将会有一个更为宽广的市场。

joanna_xiao的博客 3849

电磁仿真新手必看:如何用CST Studio Suite 2023完成第一个PCB辐射仿真?

本文详细解析了如何使用CST Studio Suite 2023进行PCB辐射仿真,适合电磁仿真新手快速上手。从工程准备、求解器配置到端口设置和后处理技巧,全面覆盖三维全波电磁场仿真软件的核心操作步骤,帮助工程师精准预测和解决PCB电磁辐射问题。

y7z8a9的博客 734

100. 相同的树【简单】

给你两棵二叉树的根节点 p和 q,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

伍六琪的博客 178

2026年算法工程师常见面试简答题

本文摘要:文章系统梳理了机器学习与深度学习中的30个核心概念,涵盖模型优化、评估指标、经典算法和大模型应用等关键知识点。主要内容包括:1)过拟合与欠拟合的成因及解决方法;2)偏差-方差权衡原理;3)数据划分与交叉验证策略;4)分类/回归任务评估指标选择;5)逻辑回归、决策树、SVM等传统算法解析;6)梯度下降优化与正则化技术;7)CNN、RNN、Transformer架构对比;8)Embedding表示与RAG技术。特别强调面试高频考点如XGBoost改进、注意力机制原理等,并给出实际工程中的解决方案建议,

不务正业的猿 352

Leetcode—100.相同的树【简单】

运行结果 之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

Atticus的博客 314

FPGA 学习笔记:解决FPGA程序固化重新上电程序不运行的问题

FPGA 学习笔记:解决FPGA程序固化重新上电程序不运行的问题

坚韧与专注 1万+

YOLOv11目标检测模型性能评价指标详解,涉及混淆矩阵、F1-Score、IoU、mAP、参数量、计算量等,一文打尽所有评价指标

本文主要讲解的是计算机视觉网络模型的性能评价指标,这是每一篇论文中都需要展示的内容。熟悉每一个评价指标也能够帮助我们在训练和改进模型过程中,更好的观察模型的变化效果。

Limiiiing的博客 8414

力扣 <每日一题> 100. 相同的树 简单

题目 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 题解 递归判断两个树相同 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val)

毛毛的博客 186

063、推挽变换器的磁偏问题与解决

本文针对推挽变换器中的磁偏问题展开分析。作者通过实际案例指出,磁偏主要由开关管导通压降差异和驱动信号不对称引起,会导致变压器饱和、MOS管炸毁等问题。文章提供了四种解决方案:采用电流模式控制、添加隔直电容、优化对称驱动设计以及引入磁芯气隙(作为最后手段)。调试时应重点观察原边电流波形对称性、变压器声音和直流分量。作者强调实践经验的重要性,建议预留隔直电容位置,并指出推挽拓扑在500W以上功率场合的局限性。这些基于实战的经验总结为电源工程师提供了有价值的参考。

Jack010169的博客 312

100. 相同的树(简单题)

题目描述: 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: 1 1 / \ / 2 3 2 3 [1,2,3], [1,2,3] 输出: true 示例 2: 输入: 1 1 / 2 ...

闭关修炼 398

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

LeetCode100 相同的树-简单

给你两棵二叉树的根节点 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 提示: 两棵树上的节点数目都在范围 [0, 100] 内 -104 <= Node.val &lt

m0_51955470的博客 132

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

leetcode 算法题100 (简单021) 相同的树

leetcode 算法题100 (简单021) 相同的树 题目介绍 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 示例一 输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,...

FYuu95100的博客 214

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Leetcode-树-100.相同的树(简单)

相同的树题目如下解题思路c++代码 题目如下 解题思路 这个题目是用来认识树的,不要觉得它很神秘,比较树,我们用到了递归,通过递归层层分工,代码思路变成非常简单。 c++代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr)

あなたの可愛い41 151

LeetCode:100. 相同的树(简单)

题目描述 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 题解 题解1:递归 以下分析来自100. 相同的树:【递归】【迭代】详解! 递归三部曲 确定递归函数的参数和返回值 要比较的是两个树是否是相互相同的,参数也就是两个树的根节点。返回值自然是bool类型。 确定终止条件 要比较两个节点数值相不相同,首先要把两个节点为空的情况弄清楚!否则后面比较数值的时候就会操作空指针了。 确定单层递归的逻辑 比较二叉树是否相同 :传入的是tree

qq_42147969的博客 177

【Leetcode】100. 相同的树(简单)

判断两棵二叉树是否相同

明朗晨光的专栏 333

【LeetCode】C++ :简单题 - 树 100. 相同的树

100. 相同的树 难度简单543 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例1: 输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3] 输出: true 示例 2: 输入: 1 1 / \ ..

weixin_44566432的博客 134

【二叉树】Leetcode 100. 相同的树【简单】

给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

FLGB 336

二叉树简单 LeetCode100. 相同的树

100. 相同的树 描述 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { if(p == null && q == null){ return true; } if(p == nul

31楼下小黑的博客 335

LeetCode 力扣 100. 相同的树 isSameTree 简单二叉树递归

大家觉得写还可以,可以点赞、收藏、关注一下吧! 也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn 文章目录100. 相同的树题目描述输入样例分析提交代码提交结果 100. 相同的树 题目描述 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 输入样例 示例 1: 输入: 1 1 / \ / \ 2

motongxue的博客 310

【LeetCode】(简单)100.相同的树

做了这么多题,看到题总得会提炼条件、输出,就做对了一半。 条件:1.树的结构相同 2.每个结点对应的值也相同 输出: true 或者 false 首先吧,树类型的题一定先去用递归思考。 因为树的结构问题,它的左右子树又可以被看作一颗独立的树。 递归 跳出条件:当两个树都是空结点时,说明遍历到了树的叶子节点。 成立条件:1.两棵树都不为空 2.根节点的值相等 不满足成功条件的就是返回false ...

致宁的大博客! 174

【LeetCode-简单】100.相同的树(C++实现)

文章目录题目链接实现思路实现代码(C++) 题目链接 100. 相同的树 实现思路 递归 首先判断 p 和 q 的情况(看他们是否为空)。 如果都为空,则返回 true。若只有一个为空,则两棵树不相同,返回 false。if (p == nullptr && q == nullptr) { // 都为空 return true; } // p != nullptr || q != nullptr if (p == nullptr || q == nullptr) { // 只有一个

JKL27的博客 223

LeetCode刷题100-简单-相同的树

算法作为极其重要的一点,是大学生毕业找工作的核心竞争力,所以为了不落后与人,开始刷力扣算法题!

布小禅的博客 3733
上一篇: 【树-简单】404. 左叶子之和
下一篇: 【树-简单】111. 二叉树的最小深度
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值