代码随想录 | Day19 | 复习二叉树所写部分

代码随想录 | Day19 | 复习二叉树所写部分

Day 16

对称二叉树记忆不清晰,只有个大概的轮廓,但后序遍历(严格来说并不是)还是可以写出,层序遍历不记得方法

Day17

111. 二叉树的最小深度 - 力扣(LeetCode)

最小深度不够熟悉,方法也忘记了,也写错了,后续需要再次复习

Day18

222. 完全二叉树的节点个数 - 力扣(LeetCode)

利用二叉树性质的做法需要复习

110. 平衡二叉树 - 力扣(LeetCode)

c++ 复制代码
class Solution {
public:
    bool flag=true;
    int backtracking(TreeNode *t)
    {
        if(t==nullptr)
            return 0;
        int l=1+backtracking(t->left);
        int r=1+backtracking(t->right);
        if(abs(l-r)>1)
            flag=false;
        return max(l,r);
    }
    bool isBalanced(TreeNode* root) {
        int d=backtracking(root);
        return flag;
    }
};

复习时写出的是这样的代码,也可以通过

关键点就是求出每个结点的左右子树的高度,差不超过1

注意是每个结点,而不是只有根结点

相关推荐
GEO从入门到精通13 小时前
学习GEO资料要多久能看到效果?
人工智能·学习
lzh2004091913 小时前
手撕线程池:巩固Linux线程知识
linux·c++
basketball61613 小时前
C++ 命名空间知识点总结:从入门到合理设计
开发语言·c++
流年如夢13 小时前
排序算法详解
数据结构·算法·排序算法
handler0113 小时前
【C++ 算法竞赛基础】数论篇:核心公式、经典例题与高频模板
开发语言·c++·算法·蓝桥杯·数论·最大公约数·最小公倍数
fpcc13 小时前
并行编程实战——CUDA编程的打印输出
c++·cuda
张二娃同学13 小时前
01_C语言学习路线与开发环境搭建
c语言·开发语言·学习
程序leo源14 小时前
Qt信号与槽深度详解
c语言·开发语言·数据库·c++·qt·c#
水云桐程序员14 小时前
C++数组详细介绍
开发语言·c++
z2005093014 小时前
今日算法(二叉树)
数据结构·c++·算法