- 22 括号生成
- 46 全排列
22. 括号生成
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
示例:
1 | 输入:n = 3 |
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/generate-parentheses
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路:剪枝,递归。规律是字符串总是以左括号开始,用left表示剩余的左括号数目,right表示剩余的右括号数目,只有当剩余的右括号比左括号多时,字符串才可以append一个右括号。
1 | class Solution(object): |
46. 全排列
给定一个 没有重复 数字的序列,返回其所有可能的全排列。
示例:
1 | 输入: [1,2,3] |
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/permutations
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路:递归,n个数字的全排列,是在 n-1个数字全排列的结果里,每个位置插入第n个数字。官方题解是回溯+DFS
AC代码:
1 | class Solution(object): |