📝
notes
  • Initial page
  • 02_ds_algo
    • ds
      • Union Find
      • Binary Indexed Tree
      • Stack
      • String
      • Linked List
      • Segment Tree
      • Union Find
      • Union Find
      • Array
      • Tree
      • Hash Table
      • queue
    • algo
      • Backtracking
      • Sort
      • Binary Search
      • Depth First Search
      • Bit Manipulation
      • Dynamic Programming
      • Breadth First Search
      • Two Pointers
      • Math
      • Sliding Window
    • leetcode
      • List
      • 1. Two Sum
      • READEME
      • 2. Add Two Numbers
  • README
    • README
      • pointer
      • effective-cpp
      • roadmap
      • pimpl
      • smartptr
  • 03_cheatsheet
    • README
      • git
      • gdb
    • README
      • bash
      • Python 速查表中文版
    • README
      • vim
Powered by GitBook
On this page

Was this helpful?

  1. 02_ds_algo
  2. ds

Linked List

  • 巧妙的构造虚拟头结点。可以使遍历处理逻辑更加统一。

  • 灵活使用递归。构造递归条件,使用递归可以巧妙的解题。不过需要注意有些题目不能使用递归,因为递归深度太深会导致超时和栈溢出。

  • 链表区间逆序。第 92 题。

  • 链表寻找中间节点。第 876 题。链表寻找倒数第 n 个节点。第 19 题。只需要一次遍历就可以得到答案。

  • 合并 K 个有序链表。第 21 题,第 23 题。

  • 链表归类。第 86 题,第 328 题。

  • 链表排序,时间复杂度要求 O(n * log n),空间复杂度 O(1)。只有一种做法,归并排序,至顶向下归并。第 148 题。

  • 判断链表是否存在环,如果有环,输出环的交叉点的下标;判断 2 个链表是否有交叉点,如果有交叉点,输出交叉点。第 141 题,第 142 题,第 160 题。

No.

Title

Solution

Difficulty

TimeComplexity

SpaceComplexity

Favorite

Acceptance

0002

Add Two Numbers

Medium

O(n)

O(1)

35.2%

0019

Remove Nth Node From End of List

Medium

O(n)

O(1)

35.6%

0021

Merge Two Sorted Lists

Easy

O(log n)

O(1)

55.7%

0023

Merge k Sorted Lists

Hard

O(log n)

O(1)

❤️

42.4%

0024

Swap Nodes in Pairs

Medium

O(n)

O(1)

52.7%

0025

Reverse Nodes in k-Group

Hard

O(log n)

O(1)

❤️

44.4%

0061

Rotate List

Medium

O(n)

O(1)

31.6%

0082

Remove Duplicates from Sorted List II

Medium

O(n)

O(1)

39.0%

0083

Remove Duplicates from Sorted List

Easy

O(n)

O(1)

46.3%

0086

Partition List

Medium

O(n)

O(1)

❤️

43.1%

0092

Reverse Linked List II

Medium

O(n)

O(1)

❤️

40.3%

0109

Convert Sorted List to Binary Search Tree

Medium

O(log n)

O(n)

49.9%

0138

Copy List with Random Pointer

Medium

39.6%

0141

Linked List Cycle

Easy

O(n)

O(1)

❤️

42.3%

0142

Linked List Cycle II

Medium

O(n)

O(1)

❤️

39.4%

0143

Reorder List

Medium

O(n)

O(1)

❤️

40.3%

0147

Insertion Sort List

Medium

O(n)

O(1)

❤️

44.2%

0148

Sort List

Medium

O(n log n)

O(n)

❤️

45.9%

0160

Intersection of Two Linked Lists

Easy

O(n)

O(1)

❤️

42.8%

0203

Remove Linked List Elements

Easy

O(n)

O(1)

39.1%

0206

Reverse Linked List

Easy

O(n)

O(1)

64.9%

0234

Palindrome Linked List

Easy

O(n)

O(1)

40.3%

0237

Delete Node in a Linked List

Easy

O(n)

O(1)

66.4%

0328

Odd Even Linked List

Medium

O(n)

O(1)

56.9%

0445

Add Two Numbers II

Medium

O(n)

O(n)

56.1%

0707

Design Linked List

Medium

O(n)

O(1)

25.8%

0725

Split Linked List in Parts

Medium

O(n)

O(1)

52.8%

0817

Linked List Components

Medium

O(n)

O(1)

57.6%

0876

Middle of the Linked List

Easy

O(n)

O(1)

❤️

68.9%

1019

Next Greater Node In Linked List

Medium

O(n)

O(1)

58.2%

1171

Remove Zero Sum Consecutive Nodes from Linked List

Medium

41.4%

1290

Convert Binary Number in a Linked List to Integer

Easy

81.7%

1669

Merge In Between Linked Lists

Medium

77.9%

1670

Design Front Middle Back Queue

Medium

54.6%

------------

-------------------------------------------------------

-------

----------------

---------------

-------------

-------------

-------------

PreviousStringNextSegment Tree

Last updated 4 years ago

Was this helpful?

C++