力扣100. 相同的树(利用分解思想解决)

Problem: 100. 相同的树

文章目录

题目描述

思路

题目要求判断两个二叉树是否完全相同 ,而此要求可以利用问题分解 的思想解决,即判断当前节点的左右子树是否完全相同 ,而在二叉树问题分解 的一般题目中均会带有返回值,具体的此题中当p、q指针均为null时返回true,当其中一个为null时(不是同时为null)返回false,当p、q指针指向的节点值不相同时返回false。

时间复杂度:

O ( n ) O(n) O(n);其中 n n n为二叉树的节点个数

空间复杂度:

O ( h ) O(h) O(h);其中 h h h为二叉树的高度

Code

java 复制代码
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.val != q.val) {
            return false;
        }
        //Check whether the left and right subtrees are the same
        return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
    }
}
相关推荐
AlunYegeer1 分钟前
面试问题controller和service能不能互相替换
面试·职场和发展
2501_924952693 分钟前
C++模块化编程指南
开发语言·c++·算法
Epiphany.5563 分钟前
题目 3146: 蓝桥杯2023年第十四届省赛真题-网络稳定性 时间限制: 1.5s 内存限制: 256MB
职场和发展·蓝桥杯
qzhqbb3 分钟前
差分隐私与大模型+差分隐私在相关领域应用的论文总结
人工智能·算法
2401_831920746 分钟前
基于C++的爬虫框架
开发语言·c++·算法
我是咸鱼不闲呀7 分钟前
力扣Hot100系列22(Java)——[图论]总结(岛屿数量,腐烂的橘子,课程表,实现Trie(前缀树))
java·leetcode·图论
MSTcheng.13 分钟前
【优选算法必修篇——位运算】『面试题 01.01. 判定字符是否唯一&面试题 17.19. 消失的两个数字』
java·算法·面试
weixin_4219226913 分钟前
模板元编程性能分析
开发语言·c++·算法
2401_8512729916 分钟前
C++中的类型擦除技术
开发语言·c++·算法
Liu6288817 分钟前
C++命名空间使用规范
开发语言·c++·算法