Reverse a singly linked list.
反转单向链表
解题思路:迭代或递归
迭代
/**
* Definition for singly-linked list.
* function ListNode(val) {
* this.val = val;
* this.next = null;
* }
*/
/**
* @param {ListNode} head
* @return {ListNode}
*/
var reverseList = function(head) {
var pre = null
while (head) {
var next = head.next //缓存next节点
head.next = pre //指向前一节点
pre = head //设置旧链表下一波前节点为当前head
head = next //设置head为前面缓存节点
}
return pre;
};