rotate list 旋轉部分鍊錶

2021-09-08 14:14:13 字數 829 閱讀 1184

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...