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

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

相关推荐
tiankongdeyige11 小时前
游戏战斗系统学习第2篇:有限状态机 (FSM)
学习·游戏·typescript
朔北之忘 Clancy11 小时前
2025 CSP-J 第二轮真题解析
c++·青少年编程·题解·noip·csp·信奥赛·noi
longlongzihan11 小时前
LeetCode 17电话号码的字母组合:回溯算法(DFS)详解
c++·算法·leetcode·深度优先
yolo_guo12 小时前
调试mysql延迟与libevent回调实际发送回复时机问题
c++·mysql·libevent
今晚打老虎12 小时前
c++之提高A(前缀和)(第三课)
数据结构·c++·算法
an123212113 小时前
ARM嵌入式学习笔记:SPI通信协议详解
arm开发·笔记·学习
不会就选b13 小时前
算法日常・每日刷题--<贪心>26
数据结构·算法
by2099914 小时前
从结构体到对象:正式学习C++类的骨架、封装与this指针
c++·经验分享·学习
乌暮14 小时前
深入理解 Java 泛型:把「万能盒子」用对、用稳
java·开发语言·后端·学习
2601_9622186115 小时前
C语言中三种库的编译和使用方法
开发语言·c++