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

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

相关推荐
牢姐与蒯6 小时前
c++加餐之位图
c++·算法·哈希
zhangrelay6 小时前
机器人或计算机智能与时间相关案例汇总(ROS2-ROS1)
linux·笔记·学习·ubuntu·机器人
老王爱玩车6 小时前
深入理解指针6
c语言·开发语言·学习
苏辰澈6 小时前
C++自己的族谱规则:继承详解上
c语言·c++·visualstudio
传奇开心果编程6 小时前
【SwiftUI入门练中学】第17课 通知与后台任务
学习·ui·ios·swiftui·swift
牢姐与蒯6 小时前
位运算及其oj题
c++·算法
渡我白衣6 小时前
深入理解 Transformer:Decoder与Masked_Attention
linux·服务器·网络·c++·人工智能·深度学习·transformer
承渊政道6 小时前
Linux系统学习【线程概念与控制核心知识详解】
linux·运维·vscode·学习·ubuntu·线程创建 终止 等待
励志不掉头发的内向程序员6 小时前
【从零写一个CAD 04】中键拖动平移:抓住一个点,让它一直待在鼠标底下
开发语言·c++·qt·学习·系统架构·计算机外设
UIU1146 小时前
同一个变量在两个 .c 文件里类型不一致,程序会怎样?
c++·学习·c#