力扣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);
    }
}
相关推荐
竹子_232 小时前
二分法详解:用生活例子 + 图示
python·算法·生活
用户4822137167753 小时前
Python——正则表达式(字符匹配-贪婪模式)
算法
二向箔reverse3 小时前
经典算法题解析:从思路到实现,掌握核心编程思维
算法
天一生水water3 小时前
聚类的肘部法则原理
算法·支持向量机·聚类
Lenyiin4 小时前
《LeetCode 热题 100》整整 100 题量大管饱题解套餐 中
java·c++·python·leetcode·面试·刷题·lenyiin
蒟蒻小袁4 小时前
力扣面试150题--颠倒二进制位
java·算法·leetcode
boyedu4 小时前
比特币区块链共识算法:数字世界的信任密码
算法·区块链·共识算法·数字货币·加密货币·虚拟货币
pk_xz1234564 小时前
社区资源媒体管理系统设计与实现
网络·python·深度学习·算法·数据挖掘·媒体
4 小时前
LeetCode Hot 100 括号生成
算法·leetcode·职场和发展
逝雪Yuki4 小时前
Leetcode——42. 接雨水
c++·算法·leetcode·双指针·接雨水