22. 括号生成
给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。
例如,给出 n = 3,生成结果为:
1 | [ |
1 | class Solution { |
解释:暴力构造法+剪枝(递归)
递归出口:
-
左括号数量小于右括号数量
-
左括号或右括号的数量大于n
-
左括号数量和有括号数量相等,且等于n,即符合题意的解
23. 合并k个排序链表
合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。
示例:
1 | 输入: |
1 | /** |
解释:关于k路归并,这里采用了优先队列合并
递归 + 二分