image.png
22.括号生成(dfs)easy
21.合并两个有序列表(模拟)easy

23. 合并K个升序链表(优先队列)中等

46. 全排列 dfs

  1. /**
  2. * @param {number[]} nums
  3. * @return {number[][]}
  4. */
  5. var permute = function(nums) {
  6. const dfs = (path,k,used) => {
  7. if(path.length === nums.length) {
  8. res.push(Array.from(path))
  9. return;
  10. }
  11. for(let i = 0; i < k ; i ++) {
  12. if(used[i]) continue;
  13. used[i] = true;
  14. path.push(nums[i])
  15. dfs(path,nums.length,used)
  16. used[i] = false;
  17. path.pop()
  18. }
  19. }
  20. const res = [] , path = []
  21. dfs(path,nums.length,[]);
  22. return res;
  23. };