摘要: 组合总和 组合总和 解题思路 利用回溯算法进行遍历,由于数组内的数字可以重复调用,因此在套用模板进行遍历时,下一次递归的startIndex是当前遍历的下标。 剪枝操作则是通过比较和是否大于目标值,如果大于则不进行下一次的递归,以此来减少循环遍历的次数,这个条件需要加到for循环中。 知识点 回溯 阅读全文
posted @ 2024-07-13 20:45 不进育碧不改名 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 组合 组合 解题思路 利用回溯算法来暴力枚举所有可能性。这里利用了代码随想录的解题模板即可。 剪枝方面,由于某些情况下(如k = n) 不需要遍历所有的可能性,因此我们要适当修改一下每次循环遍历的元素个数来进行优化 知识点 回溯 心得 如果知道如何将此类问题转换为一个n叉树,就会很清晰的套用模板解决 阅读全文
posted @ 2024-07-12 23:31 不进育碧不改名 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 修剪二叉搜索树 修剪二叉搜索树 解题思路 利用low和high来找到在区间的值,然后通过迭代将符合条件的节点相连即可 知识点 二叉搜索树 心得 我的做法是用数组存储所有节点,然后再删除区间外的节点。没有想到原来还有这种简单的做法 将有序数组转换为二叉搜索树 将有序数组转换为二叉搜索树 解题思路 关键 阅读全文
posted @ 2024-07-12 00:27 不进育碧不改名 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 二叉搜索树的最近公共祖先 二叉搜索树的最近公共祖先 解题思路 利用二叉搜索树的特性,公共祖先的值,就是在要找的两个值的区间里面 知识点 二叉搜索树 心得 想了一会如何利用二叉搜索树的特性。顺便复习了昨天做的题目 二叉搜索树中的插入操作 二叉搜索树中的插入操作 解题思路 在二叉搜索树上从根节点开始比较 阅读全文
posted @ 2024-07-10 20:04 不进育碧不改名 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 二叉搜索树的最小绝对差 二叉搜索树的最小绝对差 解题思路 使用二叉搜索树的时候记住他就是一个从小到大的有序数组,然后最小的绝对差则是会出现两两节点的差之间。 知识点 二叉搜索树 心得 一开始做没想到最小绝对差只需要前一个节点减后一个节点的结果。 二叉搜索树中的众数 二叉搜索树中的众数 解题思路 通用 阅读全文
posted @ 2024-07-10 00:37 不进育碧不改名 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 最大二叉树 最大二叉树 解题思路 找到最大值,随后将其分为左子树和右子树,重复循环即可。注意如果没有左子树,则返回null。 知识点 二叉树 心得 复习了一下用中序和后序构造二叉树的题目,做法是一样的 合并二叉树 合并二叉树 解题思路 两颗树同时进行遍历,当有一方的节点是null的时候,保存那个不是 阅读全文
posted @ 2024-07-09 00:11 不进育碧不改名 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 找树左下角的值 找树左下角的值 解题思路 层序遍历法较为简单,主要是递归法,找底层最左边的叶子节点其实就是找最大深度的叶子节点,然后优先从左边开始找。 知识点 最大深度,递归法 心得 递归法没有思考出来,因为不太清楚如何找打最大深度的叶子节点 路径总和 路径总和 解题思路 还是回溯的思路,当遇到叶子 阅读全文
posted @ 2024-07-07 00:17 不进育碧不改名 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 平衡二叉树 平衡二叉树 解题思路 二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数。 二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数。 这道题由于需要求节点的高度差来进行判断,因此我们需要用后序遍历,先左右,后中间。推荐使用递归把每个节点的高度算出来,然后通过两个子节点左右相 阅读全文
posted @ 2024-07-05 23:14 不进育碧不改名 阅读(659) 评论(0) 推荐(0) 编辑
摘要: 翻转二叉树 翻转二叉树 本题有多种解法,在这里我推荐用层次遍历,因为非常直观清晰。 解题思路 我们只需要对每一层的结点反转顺序即可(当上一层的节点反转顺序后,其子节点也会跟随,这个是解题的关键。具体实现时,我们使用堆栈,和之前的队列不同,因为这里需要反转。 知识点 堆栈,二叉树的层次遍历 心得 一道 阅读全文
posted @ 2024-07-04 23:59 不进育碧不改名 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 由于今天的所有题目都是和遍历相关,涉及到基础的二叉树数据结构,正好可以复习。 遍历顺序 前序: 递归的顺序为中间节点,左边节点和右边节点 中序: 递归的顺序为左边节点,中间节点和右边节点 后序: 递归的顺序为左边节点,右边节点和中间节点 递归 按照遍历的顺序递归相应的节点即可,例如前序递归,则先存储 阅读全文
posted @ 2024-07-04 01:02 不进育碧不改名 阅读(2) 评论(0) 推荐(0) 编辑