首页 > 其他分享 >【LeetCode】第44天 - 100. 相同的树

【LeetCode】第44天 - 100. 相同的树

时间:2022-12-06 10:39:34浏览次数:38  
标签:right TreeNode val 44 false 100 null LeetCode left


100. 相同的树

  • ​​题目描述​​
  • ​​解题思路​​
  • ​​代码实现​​

题目描述

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

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

【LeetCode】第44天 - 100. 相同的树_迭代

解题思路

当且仅当两个二叉树的结构完全相同,且所有对应节点的值相同时,才返回true。

  • 先判断p、q是否为空,如果都为空,则都为空树,返回true;如果一个为空另一个不为空,返回false。
  • 若p、q都不为空,则比较p、q对应的值是否相等,如果不相等,返回false;如果相等,则继续迭代判断p、q的左子树和右子树是否相同。

代码实现

/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
public boolean isSameTree(TreeNode p, TreeNode q) {
if(p == null && q == null){ // 两个都为空树
return true;
}
if(p == null || q == null){ //两个只有一个为空
return false;
}
if(p != null || q != null){ //两个都不为空
if(p.val != q.val){ //p、q不相同
return false;
}else{ //继续比较左子树和右子树
return isSameTree(p.left,q.left) && isSameTree(p.right,q.right);
}
}

return false;
}
}

【LeetCode】第44天 - 100. 相同的树_leetcode_02


标签:right,TreeNode,val,44,false,100,null,LeetCode,left
From: https://blog.51cto.com/u_15901218/5914765

相关文章

  • 【LeetCode】第47天 - 944. 删列造序
    944.删列造序​​题目描述​​​​解题思路​​​​代码实现​​题目描述解题思路此题比较简单,详见代码注释。代码实现classSolution{publicintminDeletionSize(St......
  • 【LeetCode】第48天 - 1037. 有效的回旋镖
    1037.有效的回旋镖​​题目描述​​​​解题思路​​​​代码实现​​题目描述解题思路没想到遇到一道纯数学题。所谓的“有效的回旋镖”就是指所给的三个点不在同一条直线......
  • [LeetCode] 1805. Number of Different Integers in a String
    Youaregivenastring word thatconsistsofdigitsandlowercaseEnglishletters.Youwillreplaceeverynon-digitcharacterwithaspace.Forexample, "a1......
  • [LeetCode] 2270. Number of Ways to Split Array
    Youaregivena 0-indexed integerarray nums oflength n.nums containsa validsplit atindex i ifthefollowingaretrue:Thesumofthefirst i......
  • leetcode 1687. 从仓库到码头运输箱子 动态规划 + 单调队列
    你有一辆货运卡车,你需要用这一辆车把一些箱子从仓库运送到码头。这辆卡车每次运输有 箱子数目的限制 和总重量的限制 。给你一个箱子数组 boxes 和三个整数portsCo......
  • LeetCode刷题记录.Day32
    翻转二叉树递归法classSolution{public:TreeNode*invertTree(TreeNode*root){if(root==nullptr)returnroot;swap(root->left,root->......
  • Queries Gym - 100741A - 树状数组
    给定\(n\)和\(m\),对于\(n\)个数字\(a_i\),进行下列三种操作:(1)+pr:将p位置的元素加上r,输出此时p位置的值;(2)-pr:将p位置的元素减去r,若p位置的值小......
  • day44 6-9 spring框架IOC与AOP(视频) & 6-10 集成mybatis框架 & 6-11 mybatis映射文件标
    MyBatis什么是持久化将数据(如内存中对象)保存到可以永久保存的存储设备中(如磁盘),持久化的主要应用是将内存的数据存储在关系型数据库中,也可存储在磁盘文件、xml数据文件中......
  • LeetCode397. Integer Replacement
    题意一个数n,若为偶数,则除2,若为奇数,则加减1;求其最终为1,需要几步方法位运算代码classSolution{public:intintegerReplacement(intn){i......
  • [Leetcode Weekly Contest]322
    链接:LeetCode[Leetcode]2490.回环句句子是由单个空格分隔的一组单词,且不含前导或尾随空格。例如,"HelloWorld"、"HELLO"、"helloworldhelloworld"都是符合要求的......