美文网首页
61. Rotate List

61. Rotate List

作者: exialym | 来源:发表于2016-11-24 14:00 被阅读13次

    Given a list, rotate the list to the right by k places, where k is non-negative.
    For example:Given 1->2->3->4->5->NULL and k = 2,
    return 4->5->1->2->3->NULL.

    找到头,找到尾,找到位移完的头和尾,拼起来就好。

    var rotateRight = function(head, k) {
        if (!head || k <= 0)
            return head;
        var count = 0;
        var begin = head;
        var end = null;
        while (begin) {
            end = begin;
            begin = begin.next;
            count++;
        }
        k = count - k%count;
        if (k===count)
            return head;
        //console.log(k)
        begin = head;
        var pre = null;
        while(k>0) {
            pre = begin;
            begin = begin.next;
            k--;
        }
        end.next = head;
        pre.next = null;
        return begin;
    };
    

    相关文章

      网友评论

          本文标题:61. Rotate List

          本文链接:https://www.haomeiwen.com/subject/ummbpttx.html