206. 反转链表--javaScript版

206. 反转链表--javaScript版_第1张图片

解题思路

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;
};

你可能感兴趣的:(#,链表,javascript,链表,递归)