[笔记] LeetCode 刷题记录 (21,206,876) – 7

章节连结

LeetCode 在需要接触演算码的工程师中,为相当知名的练习场所。当你有需要挑战自己的脑筋、面试前的准备……等,都满适合来这边看一下你的算法和资料结构的熟悉程度。这回要笔记的有 Merge Two Sorted Lists、Reverse Linked List、Middle of the Linked List。
leetCode Logo


题目

21. Merge Two Sorted Lists

[连结]:https://leetcode.com/problems/merge-two-sorted-lists/

206. Reverse Linked List

[连结]:https://leetcode.com/problems/reverse-linked-list/
A. 如果没有 head ,回传 null
B. 如果 head.next 为 null,回传 head
只要将链结的指向顺序全部反转就好,所以……
1. 从左到右开始,把 head 值用 pre 保存, head.next 用 cur 保存, 并新增一个 temp = null
2. 将 pre.next 改为 null
3. 当 cur 不为 null ,表示还没走完全程,所以……
I. 将 cur 的现在状态给 temp 保存
II. 将 cur.next 变成 cur,这样一来就把原先的 cur 和 cur.next 的连结切断
III. 将 temp.next 接到 pre 上
IV. 由于 temp 保留了最一开始 cur.val 的状态,所以会 temp 成为新的 pre
4. 最后印出 pre ,反转完成

876. Middle of the Linked List

[连结]:https://leetcode.com/problems/middle-of-the-linked-list/
1. 用 while 循环搭配 counter 记下全部的 Link 长度
2. 接着取中点,若奇数则向下取整数、偶数则向上取整数
3. 按照剩余的 counter 值移动 head,每移动一次就 – 1


历次 LeetCode 刷题记录

按赞加入粉丝团

延伸阅读