反转链表
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
解题思路
迭代实现
设置一个前指针prev和推进指针curr,推进直到curr为空,返回prev;
当前节点的指针指向上一个节点;
然后更新当前节点和下一个节点的值即可顺移;
JavaScript代码如下:
var reverseList = function(head) {
var curr = head
var prev = null
while(curr != null){
var next = curr.next
curr.next = prev
prev = curr
curr = next
}
return prev
};