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

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

相关推荐
做cv的小昊13 小时前
【TJU】信息检索与分析课程笔记和练习(10)专利文献和中文专利检索
经验分享·笔记·学习·全文检索·学习方法·信息检索
CSDN_RTKLIB13 小时前
【std::vector】避免频繁扩容方法
c++·stl
天天睡大觉13 小时前
Python学习7
windows·python·学习
郝学胜-神的一滴13 小时前
Qt实现圆角窗口的两种方案详解
开发语言·c++·qt·程序人生
CSDN_RTKLIB13 小时前
【std::vector】size、capacity小结
c++·stl
saoys13 小时前
Opencv 学习笔记:滑块(Trackbar)实现动态调整二值化阈值
笔记·opencv·学习
散峰而望13 小时前
【算法竞赛】链表和 list
数据结构·c++·算法·链表·list·哈希算法·推荐算法
i7i8i9com13 小时前
React 19+Vite+TS学习基础-1
前端·学习·react.js
郝学胜-神的一滴14 小时前
Qt OpenGL 生成Mipmap技术详解
开发语言·c++·qt·系统架构·游戏引擎·图形渲染·unreal engine
春风有信14 小时前
【学术写作】LaTeX基础:从概念理解到基础应用
经验分享·笔记·学习