0
点赞
收藏
分享

微信扫一扫

LeetCode 61. Rotate List

南陵王梁枫 2023-09-05 阅读 10


k places, where k

For example:

Given 1->2->3->4->5->NULL and k = 2,return 4->5->1->2->3->NULL.

answer:

class Solution {
public:
    ListNode* rotateRight(ListNode* head, int k) {
        if(k == 0 ) return head;
        ListNode * pre = head, * end = head;
        if(end == NULL || end->next == NULL) return head;
        int length = 1;
        while(k > 0){
            while(end->next != NULL){
                pre = end;
                end = end->next;
                length ++;
            }
            cout << length;
            if(k > length) k = k % length;
            if(k != 0){
                end->next = head;
                pre->next = NULL;
                head = end;
            }
            
            k --;
            
        }
        return head;
    }
};




举报

相关推荐

0 条评论