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

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

相关推荐
是苏浙1 分钟前
零基础入门C语言之C语言实现数据结构之栈
c语言·开发语言·数据结构
你好,赵志伟20 分钟前
Reactor反应堆
网络·c++
y***548832 分钟前
C++在游戏引擎中的开发
开发语言·c++·游戏引擎
charlie11451419144 分钟前
使用 Poetry + VS Code 创建你的第一个 Flask 工程
开发语言·笔记·后端·python·学习·flask·教程
菥菥爱嘻嘻44 分钟前
langchain学习-RAG+prompt+OutPutParse
学习·langchain·prompt
Jing_jing_X1 小时前
ChatGPT 四种模式:普通对话、推理思考、深度研究、学习模式有什么区别?
人工智能·学习·chatgpt
AA陈超1 小时前
Lyra项目中的输入系统
c++·笔记·学习·游戏·ue5·lyra
铅笔小新z1 小时前
【C++】从理论到实践:类和对象完全指南(中)
开发语言·c++
徐子童1 小时前
数据结构----排序算法
java·数据结构·算法·排序算法·面试题
千疑千寻~1 小时前
【C++】std::move与std::forward函数的区别
开发语言·c++