LeetCode 51. N皇后 51. N皇后解题思路通过col dg udg 三个布尔数据维护列,主对角线,反对角线是否已被皇后占据 col[i] 表示第 i 列是否有皇后 dg[i - j + n] 表示主对角线 (i - j) 是否有皇后 udg[i + j] 表示反对角线 (i + j) 是否有皇后 2026-02-07 LeetCode #回溯
LeetCode 131. 分割回文串 131. 分割回文串解题思路选择在哪个位置进行分割 决策树从字符串的下表 0 开始尝试分割枚举分割点: s[index, i] 和 s[i + 1, s.length() - 1]剪枝: s[index, i] 不是回文串,跳过这个分割点递归 回溯 终止 维护 dp 数组,记录子串 s[i][j] 是否为回文串 2026-02-07 LeetCode
LeetCode 79. 单词搜索 79. 单词搜索解题思路在矩阵的每一个位置,都需要作为DFS的起始点去搜索最终是否能组成单词在矩阵的每一个位置时,挑选下一个位置,可以向上下左右四个方向去选择,但前提是需要组成单词 2026-02-06 LeetCode #回溯
LeetCode 22. 括号生成 22. 括号生成解题思路为了保证生成括号的合法性,并不是任意状态都可以随意选择左括号或者右括号维护左括号数量 left 和右括号数量 right ,初始状态均为0 只有当 left < n,当前状态可以选择左括号 只有当 right < left,当前状态可以选择右括号 决策树 2026-02-06 LeetCode #回溯