題目:
給定乙個鍊錶,旋轉鍊錶,將鍊錶每個節點向右移動 k 個位置,其中 k 是非負數。
思路:1、先計算鍊錶長度len,移動k位,即實際移動k%len位
2、使鍊錶頭尾相連成環,使new移動到要斷開地方的之前,下乙個就是新的頭
:#極端情況
return head
len=1
tail=head
while tail.
next
:#計算鍊錶長度
len+=
1 tail=tail.
next
tail.
next
=head#找到尾
new=head
for i in
range
(len
-k%len-1
):#將new移動到斷開點
new=new.
next
result=new.
next
new.
next
=none
return result
class
solution
int len=1;
listnode tail=head;
while
(tail.next!=
null
) tail.next=head;
listnode p=head;
for(
int i=
0;i<
(len-k%len-1)
;i++
)listnode newhead=p.next;
p.next=
null
;return newhead;
}}
61 旋轉鍊錶(中等)(1 5)
給定乙個鍊錶,旋轉鍊錶,將鍊錶每個節點向右移動 k 個位置,其中 k 是非負數。示例 1 輸入 1 2 3 4 5 null,k 2輸出 4 5 1 2 3 null解釋 向右旋轉 1 步 5 1 2 3 4 null 向右旋轉 2 步 4 5 1 2 3 null definition for s...
leetcode 鍊錶 61 旋轉鍊錶
給定乙個鍊錶,旋轉鍊錶,將鍊錶每個節點向右移動 k 個位置,其中 k 是非負數。示例 1 輸入 1 2 3 4 5 null,k 2 輸出 4 5 1 2 3 null 解釋 向右旋轉 1 步 5 1 2 3 4 null 向右旋轉 2 步 4 5 1 2 3 null 示例 2 輸入 0 1 2 ...
LeetCode 鍊錶(旋轉鍊錶61)
給定乙個鍊錶,旋轉鍊錶,將鍊錶每個節點向右移動 k 個位置,其中 k 是非負數。構造乙個環,對鍊錶進行處理。實現原理 先遍歷一遍,得出鍊錶長度,注意k可能大於len,之後令k len,將尾節點next指標指向 首節點,形成乙個環,接著往後跑len k步,從這裡斷開,就是要求的結果了。public l...