Choi Yang
Choi Yang
 >仰望星空的人,不应该被嘲笑 ## 题目描述 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: ```javascript 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 5 ``` 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 ## 解题思路 题目要求高度平衡——构建 root...
 >仰望星空的人,不应该被嘲笑 ## 题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(**一个节点也可以是它自己的祖先**)。” 例如,给定如下二叉树: `root = [3,5,1,6,2,0,8,null,null,7,4]`  示例 1: ```javascript 输入: root = [3,5,1,6,2,0,8,null,null,7,4], p...
 >仰望星空的人,不应该被嘲笑 ## 题目描述 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例: ```javascript 输入:n = 3 输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ] ``` 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/generate-parentheses 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 ## 解题思路 这道题,看了大佬的题解,发现真是有意思,现在来解释一下。 我们可以直接走可行的情况,对于不可行的情况,自然就剪掉了。 关键在于左右括号如何选择,首先,对于左括号,起初我们必然是要选的,然后我们也可以全部选完,因此,只要有左括号我们必须选,而对于右括号而言,它的剩余数量必须大于剩余左括号数量,我们才能选右括号。...
 >仰望星空的人,不应该被嘲笑 ## 题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。  示例: ```javascript 输入:"23" 输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]. ``` 说明: ```javascript 尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。 ``` ## 解题思路...
 >仰望星空的人,不应该被嘲笑 ## 题目描述 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 有效的 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 例如:`"0.1.2.201" 和 "192.168.1.1"` 是 有效的 IP 地址,但是 `"0.011.255.245"、"192.168.1.312" 和 "[email protected]" ` 是...
 >仰望星空的人,不应该被嘲笑 ## 题目描述 给定一个字符串 `s`,将 `s` 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: ```javascript 输入: "aab" 输出: [ ["aa","b"], ["a","a","b"] ] ``` 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/palindrome-partitioning 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 ## 解题思路 借鉴 zesong-wang-c 大佬的图解 ...
 >仰望星空的人,不应该被嘲笑 ## 题目描述 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。  上图为 8 皇后问题的一种解法。 给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。 每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。 示例: ```javascript 输入:4 输出:[ [".Q..",...
 >仰望星空的人,不应该被嘲笑 ## 题目描述 编写一个程序,通过填充空格来解决数独问题。 一个数独的解法需**遵循如下规则**: 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 空白格用 ` '.'` 表示。  一个数独。  答案被标成红色。 提示: ```javascript 给定的数独序列只包含数字 1-9 和字符...
 >仰望星空的人,不应该被嘲笑 ## 题目描述 给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例: ```javascript 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] ``` 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/permutations 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 ## 解题思路 序列不重复就很简单了,维护一个 `vis`数组,不重复取就好了。 ```javascript var...
 >仰望星空的人,不应该被嘲笑 ## 题目描述 给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: ```javascript 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3],...