力扣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);
    }
}
相关推荐
Boom_Shu5 分钟前
长方形的关系
数据结构·c++·算法
ZhengEnCi34 分钟前
O07-银行家算法
算法
装不满的克莱因瓶40 分钟前
图像尺寸调整:缩放矩阵如何改变像素坐标?
人工智能·线性代数·数学·算法·机器学习·矩阵
Lumbrologist1 小时前
【C++】零基础入门 · 第 13 节:类与对象基础
java·c++·算法
LONGZETECH1 小时前
软硬协同+故障注入:无人机仿真维修与操控仿真底层算法逻辑拆解
大数据·c语言·算法·3d·unity·无人机
Lsk_Smion1 小时前
力扣实训 _ [543].二叉树的直径 _ [23].合并K个升序列表
数据结构·算法·leetcode
凯瑟琳.奥古斯特2 小时前
力扣1235:加权区间调度最优解
java·python·算法·leetcode·职场和发展
耶叶2 小时前
餐厅出入最少人数问题:贪心算法
算法·贪心算法
gihigo19982 小时前
基于小波框架与稀疏表示的SAR图像目标识别系统(MATLAB实现)
算法