leetcode:Rotate List

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode *rotateRight(ListNode *head, int k) {
        ListNode *p=head;
        int num = 1;
        if(!p)
            return NULL;
        while(p->next)
        {
            p = p->next;
            num++;
        }
        p->next = head;
        int step = num-k%num;
        for(int i=0;i<step;i++)
        {
            p = p->next;
        }
        head = p->next;
        p->next = NULL;
        return head;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章