旋转链表

2020-04-14  本文已影响0人  fordeson
ListNode* rotateRight(ListNode* head, int k) {
    if (head == NULL || head->next == NULL) return head;
    ListNode *pNode = head;
    int n = 1;
    while (pNode->next) {
        pNode = pNode->next;
        ++n;
    }
    pNode->next = head;
    
    int step = n - k%n;
    while (step) {
        pNode = head;
        head = head->next;
        step--;
    }
    pNode->next = NULL;
    return head;
    }
上一篇 下一篇

猜你喜欢

热点阅读