力扣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);
    }
}
相关推荐
努力学算法的蒟蒻3 分钟前
day38(12.19)——leetcode面试经典150
算法·leetcode·面试
搬砖魁首11 分钟前
ZK-ALU-在有限域上实现乘法和除法
算法·zk·alu·域运算·算术逻辑单元·模乘·蒙哥马利模约简
iAkuya19 分钟前
(leetcode)力扣100 17缺失的第一个正数(哈希)
算法·leetcode·哈希算法
断剑zou天涯27 分钟前
【算法笔记】树状数组IndexTree
java·笔记·算法
sonadorje28 分钟前
ECC公钥生成过程
算法·安全
声声codeGrandMaster31 分钟前
线性回归实战下与深度学习概念
深度学习·算法·线性回归
sin_hielo40 分钟前
leetcode 2092(排序+bfs)
算法·leetcode·宽度优先
C雨后彩虹1 小时前
斗地主之顺子
java·数据结构·算法·华为·面试
鸽鸽程序猿1 小时前
【刷题册】二
算法
CoderCodingNo1 小时前
【GESP】C++四级真题 luogu-B4416 [GESP202509 四级] 最长连续段
开发语言·c++·算法