解题思路
1.迭代法来解,这个视频画图画的好,一下就懂了。
2.递归来解,递归递归,递完了再归。
代码
//1.迭代法
var reverseList = function(head) {
if(!head || !head.next) return head;
var prev = null,curr=head;
while(curr){
var next = curr.next;
curr.next = prev;
prev = curr;
curr = next;
}
head = prev;
return head;
};
//2.递归
var reverseList = function(head) {
//递归终止条件
if(!head || !head.next) return head;
var p = reverseList(head.next);
head.next.next = head;
head.next = null;
return p;
};