題目描述
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,
return4->5->1->2->3->null.
讓鍊錶成環,然後從頭結點開始向後面跑length-k,然後從這個部分斷開,這樣形成的新鍊錶就是旋轉之後的鍊錶
注意點:
(1)遍歷鍊錶,求出鍊錶的長度length,length應該初始化為1,這樣可以防止除0錯誤
(2)k可能會大於len,因此k = length - k%length;
**實現:
struct listnode
};class solution
k = length - k%length;
//將鍊錶連成乙個環
pnode->next = head;
for (int i = 0; i < k; i++)
head = pnode->next;
pnode->next = null;
return head;
}};
rotate list 旋轉部分鍊錶
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.題目 給定乙個鍊錶,將鍊...
演算法題 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...
鍊錶 旋轉鍊錶
力扣原題 definition for singly linked list.public class listnode class solution 計算鍊錶長度 int length 0 listnode cur head while null cur 模擬k輪鍊錶旋轉 for int i 0 ...