摘要: 一,棋盘类问题解题思路 棋盘类问题是回溯专题中的一个重要分支。与子集、组合、排列类问题不同,棋盘类问题往往需要满足额外的约束条件,即在棋盘上某个位置放置元素时,必须确保不会破坏题目定义的规则。 常见的棋盘类问题包括: N皇后:放置皇后时,不能在同一行、同一列或对角线上出现冲突。 数独:填充数字时,必 阅读全文
posted @ 2025-09-02 18:02 雪痕春风天音九重色 阅读(6) 评论(0) 推荐(0)
摘要: 一,排列类问题解题思路 排列问题与组合、子集问题的最大不同点在于:排列问题关心元素的顺序。 因此在树形解题空间中,排列类问题会遍历所有可能的顺序,每个元素只能在一个排列中使用一次。 在代码实现上,排列问题常用一个 used 数组来标记当前元素是否已经被选择过,从而避免重复使用。 无重复元素的排列(L 阅读全文
posted @ 2025-09-02 15:48 雪痕春风天音九重色 阅读(6) 评论(0) 推荐(0)
摘要: 回溯专题其三(子集篇) 一,子集类问题解题思路 子集、组合、分割类问题的回溯框架非常相似,都能抽象为一棵树来遍历解空间。 不同点在于: 组合 / 分割问题:通常在树的 叶子节点 收集结果。 子集问题:则在树的 所有节点 收集结果,因为子集本身没有固定长度限制。 以 子集 78 为例,假设给定一个集合 阅读全文
posted @ 2025-08-31 16:35 雪痕春风天音九重色 阅读(9) 评论(0) 推荐(0)
摘要: 一、分割类问题解题思路 分割类问题的特点是: 我们需要在字符串中不断尝试放置“分割线”; 每个切分后得到的子串必须满足一定条件; 当分割线走到字符串末尾时,得到一个完整的方案。 因此,这类问题可以抽象为 在字符串中选择切割点的过程,也可以看作一类特殊的组合问题 回溯函数的核心参数通常是 当前分割线的 阅读全文
posted @ 2025-08-31 13:34 雪痕春风天音九重色 阅读(5) 评论(0) 推荐(0)
摘要: 一、回溯理论基础 回溯的概念 回溯(Backtracking)是一种搜索算法,常被称为“回溯搜索”。它本质上是 递归的副产品:在递归过程中不断尝试不同的选择,当某条路径不满足条件时,就 回退到上一步重新选择。因此,有回溯必有递归。 由于回溯法会枚举搜索空间中的所有可能路径(可通过剪枝优化减少无效搜索 阅读全文
posted @ 2025-08-31 11:47 雪痕春风天音九重色 阅读(6) 评论(0) 推荐(0)
摘要: 二叉树部分刷题章节总结 一,二叉树基础与遍历 思路归纳: 递归 & 迭代,DFS & BFS 在二叉树中的实现 题单: 二叉树的前序遍历 二叉树的中序遍历 二叉树的后序遍历 二叉树的层序遍历 核心代码实现: 二叉树的三种遍历方式(前中后序)的递归实现思路类似,如前序遍历实现的核心代码如下: def 阅读全文
posted @ 2025-08-26 15:10 雪痕春风天音九重色 阅读(3) 评论(0) 推荐(0)
摘要: Leetcode 530 二叉搜索树的最小绝对差 题目链接: 二叉搜索树的最小绝对差 给定一棵二叉搜索树的根节点,返回该二叉搜索树中任意两个节点之间差值绝对值的最小值。任意两个节点的值都不相同。 思路: 根据二叉搜索树的性质,根节点严格大于左子树中的所有节点,严格小于右子树中的所有节点。因此,二叉搜 阅读全文
posted @ 2025-08-23 19:46 雪痕春风天音九重色 阅读(8) 评论(0) 推荐(0)
摘要: Leetcode 654 最大二叉树 题目链接: 最大二叉树 给定一个不含重复元素的整数数组,据此构建一棵最大二叉树,方法如下: 找出该数组中最大的元素,为其创建一个相应二叉树节点。该元素将该数组分割成两个部分。 从左部分中选取其中最大的元素,作为当前节点的左孩子节点 从右部分中选取其中最大的元素, 阅读全文
posted @ 2025-08-22 20:59 雪痕春风天音九重色 阅读(11) 评论(0) 推荐(0)
摘要: Leetcode 513 找树左下角的值 题目链接: 找树左下角的值 给定一棵二叉树的根节点,返回该二叉树中最后一行最靠左的节点的值。 思路: 本题既可以通过迭代求解,也可以通过递归求解。 若通过迭代法求解,则直接通过层序遍历,遍历整棵二叉树。最后将最后一行的第一个元素取出即可。 若使用递归法求解, 阅读全文
posted @ 2025-08-22 20:10 雪痕春风天音九重色 阅读(2) 评论(0) 推荐(0)
摘要: Leetcode 110 平衡二叉树 题目链接: 平衡二叉树 给定一棵二叉树,检查该二叉树是否为高度平衡的。 所谓高度平衡的二叉树,即为二叉树左右子树的高度差不大于1 思路: 本题通过递归法求解。 利用递归三部曲进行分析: 递归函数参数与返回值 递归函数的参数为当前遍历的节点;返回值为一个整数,即以 阅读全文
posted @ 2025-08-22 16:18 雪痕春风天音九重色 阅读(5) 评论(0) 推荐(0)