100. Same tree 一个击败了100%C++用户的代码

题目描述

Given the roots of two binary trees p and q, write a function to check if they are the same or not.

Two binary trees are considered the same if they are structurally identical, and the nodes have the same value.

Example 1:
在这里插入图片描述

Input: p = [1,2,3], q = [1,2,3]
Output: true

Example 2:
在这里插入图片描述

Input: p = [1,2], q = [1,null,2]
Output: false

Example 3:
在这里插入图片描述

Input: p = [1,2,1], q = [1,1,2]
Output: false

Constrains:

  • The number of nodes in both trees is in the range [0,100].
  • − 1 0 4 < = N o d e . v a l < = 1 0 4 -10^4<=Node.val<=10^4 104<=Node.val<=104

解答思路

使用递归判断。首先两棵树都是空的时候,是相等的。然后只有一个是空的,是不相等的。最后就是都不为空就判断节点的值相不相等。

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:bool isSameTree(TreeNode* p, TreeNode* q) {if(p == nullptr && q == nullptr){return true;}  else if(p == nullptr || q == nullptr){return false;}else if(p->val != q ->val){return false;}else{return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);}}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/529695.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网络】数据在同网段和跨网段通信流程

情景一&#xff1a;同一广播域内&#xff0c;两台主机通信过程&#xff1a; 当NO要和N1通信时&#xff0c;假如N0知道N1的IP但却不知道它的MAC地址&#xff0c;那NO就会发送一个ARP的广播请求<1>&#xff08;里面源IP是NO 目标IP是N1 源MAC是N0 目标MAC是12个F&#xff0…

H62410Y 惠海 降压恒压芯片 仪表供电芯片 24V36V100V降3.3V5V1A

降压恒压仪表供电芯片的工作原理如下&#xff1a; 输入电压传感器&#xff1a;感知电源电压的大小&#xff0c;以便后续控制电压输出。 储能元件&#xff1a;内部有储能元件&#xff08;如电容器或电感等&#xff09;&#xff0c;用于存储电荷或电能&#xff0c;以供后续转换…

mysql的索引、事务、分库分表问题

1.了解MySQL的索引吗&#xff1f;它为什么使用Btree作为底层&#xff0c;而不是其他呢&#xff1f; 这里我们要谈的是其他数据结构的缺点&#xff0c;然后说说Btree的优点&#xff0c;也就看你对MySQL的Btree与其他数据结构熟不熟悉。 Hash &#xff08;1&#xff09;Hash 索引…

G-LAB郭主任公开课:Docker容器,3月18日开课!

带你一起走进Linux的世界&#xff01; 【G-LAB】 Linux最新技术—Docker容器 免费公开课即将开讲&#xff01; 不容错过&#xff01; 公开课课程为期两天&#xff0c;3月18日&#xff06;3月19日晚20&#xff1a;00 分享主题&#xff1a; —3月18日 Docker概念、安装、架…

WhatsApp模板信息申请大全:更好地触达WhatsApp客户

按照WhatsApp通话规则&#xff0c;用户主动和我们开始聊天后的24小时内&#xff0c;我们也是可以通过WhatsApp无限次数地与对方进行自定义消息对话&#xff0c;并且只计为一次服务型会话费用。 但是如果超过了24小时&#xff0c;我们还希望可以继续联系对方的话&#xff0c;只…

《Ubuntu20.04环境下的ROS进阶学习0》

一、逛ROS应用商店 在上一专栏http://t.csdnimg.cn/oGlcu&#xff0c;我们了解了ROS的基本功能。这一专栏将会在此基础上做出进一步拓展学习。那么首先我们要学会下载并阅读别人的代码。常用的两个应用商店一个是ROS的官方应用商店ROS index&#xff0c;另一个就是我们熟知的gi…

SCNU软件测试安装wampapache等操作出现的问题及解决方法

windows不能在本地计算机启动wampapache windows不能在本地计算机启动wampapache 如果出现这个问题 尝试一下不要那个驱动 我把这个驱动删掉就奇妙的可以了

U盘文件剪切丢失如何挽救?专家教你两招轻松恢复

一、遭遇U盘文件剪切丢失&#xff0c;你该怎么办&#xff1f; 在日常办公和生活中&#xff0c;U盘作为便捷的移动存储设备&#xff0c;常常承载着重要的文件和数据。然而&#xff0c;有时我们会遇到这样一个令人头疼的问题&#xff1a;明明在电脑上将U盘中的文件剪切到了某个位…

照片的动态效果怎么弄?分享一个方法快速制作

动态的照片能够吸引注意力&#xff0c;增强视觉效果让信息更加生动有趣。那么&#xff0c;想要让自己手里的照片也变成有动态效果的图片时要怎么操作呢&#xff1f;这时候&#xff0c;只需要使用动态图片制作&#xff08;https://www.gif.cn/&#xff09;工具-GIF中文网&#x…

Redis核心数据结构之跳跃表

跳跃表 概述 跳跃表(skiplist)是一种有序数据结构&#xff0c;它通过在每个节点中维持多个指向其他节点的指针&#xff0c;从而达到快速访问节点的目的。跳跃表支持平均O(logN)、最坏O(N)复杂度的节点查找&#xff0c;还可以通过顺序性操作来批量处理节点。在大部分情况下&am…

java使用anyMatch判断自定义值是否在HashMap数组中

java使用anyMatch判断自定义值是否在HashMap数组中 一、代码 一、代码 Testvoid test() {List<Map<String, Object>> list new ArrayList<>();Map<String, Object> map1 new HashMap<>();map1.put("key1", "value1");map1…