Skip to content

链表、二叉树与回溯(十一)

About 696 wordsAbout 2 min

algolinklistleetcode

2024-01-25

链表、二叉树与回溯(前后指针/快慢指针/DFS/BFS/直径/LCA/一般树)

一、链表

1、合并两个有序链表

leetcode 第 21 题,合并两个升序的链表,用一个虚拟节点和两个移动指针来解决,判断指针处的节点的大小,插入到虚拟节点后方

2、分割链表

3、合并 k 个升序的链表

这里用到一个二叉堆的数据结构, 先明白如何用,再说是怎样实现的, 就是使用一个优先级队列来处理,先把条件给出来的链表放到优先级队列里面,后面每次在 pull 出来最小的节点,放到虚拟节点的后面。

二、回溯

这里先给自己里一个明天的计划,明天就是需要学习掌握回溯算法的思路。我现在知道回溯的大概思路,现在就是写不出来。

原文章地址:回溯算法秒杀所有排列-组合-子集问题

无论是排列、组合还是自己问题,简单来说无非是让你从序列 nums 中一给定规则取若干元素,主要有以下几种变体:

  • 元素无重复不可复选, nums = [2,3,6,7], 和为 7, [7]
  • 元素可重复不可复选, nums = [2,5,2,1,2], 和为 7, [5,2], [2,2,2,1]
  • 元素无重复可复选, nums = [2,3,6,7], 和为 7,[2,2,3], [7]

Changelog

Last Updated: 3/30/25, 4:18 PMView All Changelog
  • feat(wiki): algo: 算法总结

    On 3/30/25

求求了,快滚去学习!!!

求求了求求了,快去学习吧!

【题单】贪心算法

不知道方向的时候,可以多看看书,书会给你指明下一步该干什么,加油!