代码随想录 | 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

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

相关推荐
噜噜噜阿鲁~13 小时前
python学习笔记 | 11.5、面向对象高级编程-使用枚举类
笔记·python·学习
不会C语言的男孩13 小时前
C++ Primer 第6章:函数
开发语言·c++
Lucky_ldy13 小时前
数据结构从入门到精通:链表
数据结构·链表
码上有光13 小时前
c++:多态
java·jvm·c++·多态·多态原理
Lumbrologist13 小时前
【C++】零基础入门 · 第 18 节:互斥锁与线程同步
java·开发语言·c++
tangchao340勤奋的老年?13 小时前
C++ OpenGL显示地图
c++·opengl
I Promise3413 小时前
C++ 多线程编程:从入门到实战
开发语言·c++
邪修king13 小时前
C++map_set封装 : 红黑树底层迭代器以及仿函数的运用
android·c语言·数据结构·c++·b树
muddjsv13 小时前
《算法导论》入门学习路径:从零基础到系统掌握
学习·算法
ZC跨境爬虫13 小时前
SQL学习日志_Day2_深入SQL语法与数据库层级结构
数据库·sql·学习·oracle