1. 程式人生 > >leetcode 61:旋轉連結串列

leetcode 61:旋轉連結串列

首先要計算出一共有多少個節點,記為j,然後使用k=k%j

然後使用for迴圈  每次使得最後一個節點的下一個節點為頭節點   倒數第二個節點的下一個節點為NULL

ListNode* rotateRight(ListNode* head, int k) {
    if(head==NULL)
        return NULL;
    if(head->next==NULL)
        return head;
    int j=0;
    ListNode*l2=head;
    while(l2!=NULL){
        j++;
        l2=l2->next;
    }
    for(int i=0;i<k%j;i++){
    ListNode*l1=head;
    ListNode*last=head;
    while(head->next!=NULL){
        last=head;
        head=head->next;
    }
    head->next=l1;
    last->next=NULL;
    }
    return head;
}