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

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

相关推荐
小明说Java3 小时前
常见排序算法的实现
数据结构·算法·排序算法
45288655上山打老虎3 小时前
C++完美转发
java·jvm·c++
晓梦.3 小时前
Vue3学习笔记
笔记·学习
思成不止于此4 小时前
【MySQL 零基础入门】DQL 核心语法(二):表条件查询与分组查询篇
android·数据库·笔记·学习·mysql
SunkingYang4 小时前
程序崩溃闪退——MFC共享内存多次OpenFileMapping和MapViewOfFile而没有相应的UnmapViewOfFile和CloseHandle
c++·mfc·共享内存·崩溃·闪退·close·openfilemapping
问君能有几多愁~5 小时前
C++ 日志实现
java·前端·c++
JANGHIGH5 小时前
c++ 多线程(二)
开发语言·c++
lemon_sjdk5 小时前
java学习——枚举类
java·开发语言·学习
珑墨5 小时前
【浏览器】页面加载原理详解
前端·javascript·c++·node.js·edge浏览器
hd51cc5 小时前
MFC控件 学习笔记二
笔记·学习·mfc