题目描述:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
在遍历链表时,将当前节点的 next指针改为指向前一个节点。由于节点没有引用其前一个节点,因此必须事先存储其前一个节点。在更改引用之前,还需要存储后一个节点。最后返回新的头引用。 代码如下
/**
* Definition for singly-linked list.
* function ListNode(val) {
* this.val = val;
* this.next = null;
* }
*/
/**
* @param {ListNode} head
* @return {ListNode}
*/
var reverseList = function(head) {
var prev = null;
var curr = head;
while(curr !== null){
temp = curr.next;
curr.next = prev;
prev = curr;
curr = temp;
}
return prev;
};