leetcode_day26 今日任务: 39. 组合总和 medium 40. 组合总和Ⅱ medium 131. 分割回文串 medium 39. 组合总和 题目: 给你一个无重复元素的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 2024-06-17 #leetcode
leetcode_day24 今日任务: 77. 组合 216. 组合总和Ⅲ 17. 电话号码的字母组合 前言 进入回溯算法篇章,对递归掌握仍然不熟练,尤其是回溯算法,在左的课上写全排列等题目简直惨不忍睹,趁此机会,再次尝试学会回溯算法,每题务必隔天复习重写熟悉 卡哥的题解也要仔细看,综合多篇题解学习。 文章讲解 视频讲解 77. 组合 题目: 给定两个整数 n 和 k,返回范围 [ 2024-06-15 #leetcode
leetcode_day23 今日任务: 669. 修剪二叉搜索树 medium 108. 将有序数组转换为二叉搜索树 easy 538. 把二叉搜索树转换为累加树 medium 669. 修剪二叉搜索树 题目: 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的 2024-06-14 #leetcode
leetcode_day22 今日任务: 235. 二叉搜索树的最近公共祖先medium 701. 二叉搜索树的插入操作medium 450. 删除二叉搜索树中的节点medium 235. 二叉搜索树的最近公共祖先 与day21的第三题相比,这题多了二叉搜索树这一条件,变得更简单 题目: 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 2024-06-13 #leetcode
leetcode_day21 今日任务: 530. 二叉搜索树的最小绝对差easy 501. 二叉搜索树中的众数easy 236. 二叉搜索树的最近公共祖先medium 530. 二叉搜索树的最小绝对差 题目:(仅题干,示例请移步力扣) 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 思路: 由于是二叉搜索树, 2024-06-13 #leetcode
leetcode_day20 今日内容 ● 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树 最大二叉树 一般写法 题目实际上已经给出了递归逻辑,翻译成代码即可 给定一个不重复的整数数组nums。最大二叉树可以用下面的算法从nums递归地构建: 创建一个根节点,其值为nums中的最大值。 递归地在最大值左边的子数组前缀上构建左子树。 递归地在 2024-06-11 #leetcode
leetcode_day18 今日内容 513.找树左下角的值 112. 路径总和 113.路径总和ii 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树 找树左下角的值 递归写法 递归代表深度优先搜索,所以对于这道题要求的bottom比较好把握,只要维护一个最深深度就行了,对于left,就要在递归逻辑上把握 当遇到叶子节点,根据深度判断是否维护,注意一 2024-06-09 #leetcode
leetcode_day17 今日内容: 110. 平衡二叉树 257. 二叉树的所有路径 404. 左叶子之和 平衡二叉树 只是判断平衡二叉树,比较简单,按规范化思路来吧,避免一会有感觉秒了,一会没感觉卡了 递归结束条件:如果左子树不是平衡二叉树 或者 右子树不是平衡二叉树 或者 左右子树深度差距大于1 递归操作:判断左子树是不是平衡二叉树,判断右子树是不是平衡二叉树,获取左右子树深度 参数及 2024-06-07 #leetcode
leetcode_day16 今日内容: 104. 二叉树的最大深度 559. n叉树的最大深度 111. 二叉树的最小深度 222. 完全二叉树的节点个数 树的最大深度 最大深度指从根到所有节点的长度中最长的那一个,换言之就是要找离根最远的节点然后返回到它的长度。 用DFS和BFS都行,分别代表递归前后序遍历和层序遍历,对于n叉树而言,仅仅是多比较几次而已,改写难度不大 下附对于n叉树的bfs 2024-06-06 #leetcode
leetcode_day15 今日内容: 102.层序遍历 226.翻转二叉树 101.对称二叉树 层序遍历 思路就是用队列记录逐层,这样顺序不会变。进入一层时最好记录队列初长度,然后根据长度遍历该层,避免根据队列是否空而判断该层是否遍历结束,便于即时将子节点入队 123456789101112131415161718192021vector<vector<int>> lev 2024-06-05 #leetcode