leetcode 61:旋轉連結串列
阿新 • • 發佈:2018-12-09
首先要計算出一共有多少個節點,記為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; }