[LeetCode] 206. Reverse Linked List

Posted aaronliu1991

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode] 206. Reverse Linked List相关的知识,希望对你有一定的参考价值。

这类reverse的题不会写,会写homebrew也枉然。这题我用的是iterative的思路做的。创建一个空的指针pre。当head不为空的时候,先存住head.next,然后head.next指向pre,最后pre,head,next三个指针整体往后移动一位。代码如下,也share一个注释写的比较好的discussion吧,https://leetcode.com/problems/reverse-linked-list/discuss/375450/Javascript-Iterative-with-explanationcomments

 1 /**
 2  * @param {ListNode} head
 3  * @return {ListNode}
 4  */
 5 var reverseList = function(head) {
 6     // corner case
 7     if (head === null || head.next === null) {
 8         return head;
 9     }
10 
11     // normal case
12     let pre = null;
13     while (head !== null) {
14         let next = head.next;
15         head.next = pre;
16         pre = head;
17         head = next;
18     }
19     return pre;
20 };

 

以上是关于[LeetCode] 206. Reverse Linked List的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 206 链表 Reverse Linked List

Leetcode 206 Reverse Linked List 链表

LeetCode 206 Reverse Linked List

Leetcode 206: Reverse Linked List

[LeetCode]206. Reverse Linked List

206. Reverse Linked List(LeetCode)