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

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

相关推荐
octopus_c2 小时前
数据结构:堆(Heap)详解
c语言·数据结构·算法
吃着火锅x唱着歌8 小时前
Effective C++ 学习笔记 条款43 学习处理模板化基类内的名称
c++·笔记·学习
felixking9 小时前
C++20 协程
开发语言·c++·协程
weixin_431600449 小时前
Agent Workflow 学习向:Code 节点,比模板更强的变量加工
后端·python·学习·ai·
Xuanzang Road10 小时前
第 40 届学习强企玄奘路戈壁挑战赛:在绝境中重塑自我
学习
tju新生代魔迷11 小时前
Python学习日记3
学习
小小龙学IT11 小时前
FlatBuffers 深度解析:Google 开源零拷贝序列化库完全指南
c++·开源
wuminyu12 小时前
JDK21中虚拟线程和FFM协同实现高并发源码剖析
java·linux·c语言·jvm·c++
SWAGGY..12 小时前
【C++进阶】:(1)继承机制详解
java·jvm·c++
hsjiasb12 小时前
FreeRTOS学习(三十九)——最终总结
学习·学习笔记·freertos