day140-LeetCode 206. Reverse Linked List

题目

Reverse a singly linked list.
{ val:1, next: {val:2, next:null} } }
{ val:2, next: {val:1, next:null} } }

分析

链表反转

题解

function reverseList (head) {
if (!head) {
return null
}
if (!head.next) {
return head
}
let prev = head
let cur = head.next
prev.next = null
while (cur !== null) {
let temp = cur
// 当前node指向下一个,不然会被后面操作影响
cur = cur.next
// 只需要当前node的值,不需要他的next,temp.next = null
// 之前的linked list加到当前node后面, temp.next = prev
temp.next = prev
prev = temp
}
return prev
}
文章作者: lmislm
文章链接: http://lmislm.com/2019/06/01/2019-06-01/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LMISLMのBlog