given a list, rotate the list to the right by k places, where k is non-negative.
for example:
given1->2->3->4->5->nulland k =2,
return4->5->1->2->3->null.
題目;給定乙個鍊錶,將鍊錶旋轉到右邊的k個位置,其中k是非負的。
例如:
1->2->3->4->5->null,為k = 2,
返還4->5->1->2->3->null。
分析:先遍歷一遍,得出鍊錶長度len,注意k可能會大於len,因此k%=len。
將尾結點next指標指向首節點,形成乙個環,接著往後跑len-k步,從這裡斷開,就是結果
/** * definition for singly-linked list.
* struct listnode
* }; */
class
solution
k=len-k%len;
p->next=head;//
首尾相連
for(int step=0;step)
head=p->next;//
新的首節點
p->next=nullptr;//
斷開環return
head;
}};
rotate list(旋轉鍊錶)
題目描述 given a list,rotate the list to the right by k places,where k is non negative.給定乙個鍊錶,將鍊錶向右旋轉k個位置,其中k是非負的。for example given1 2 3 4 5 nulland k 2,r...
演算法題 rotate list 旋轉旋轉
程式設計題 rotate list 時間限制 1秒 空間限制 32768k given a list,rotate the list to the right by k places,where k is non negative.for example given1 2 3 4 5 nulland...
旋轉卡殼部分模板
凸包直徑 旋轉卡殼凸包直徑詳解 計算凸包直徑,輸入凸包ch,頂點個數為n,按逆時針排列,輸出直徑的平方 int rotating calipers int n return ans 凸包間最小距離 struct point 建構函式 方便 編寫 p n q n typedef point point...