leetcode 中等 61 旋轉鍊錶

2021-10-10 11:18:40 字數 1437 閱讀 2749

題目:

給定乙個鍊錶,旋轉鍊錶,將鍊錶每個節點向右移動 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...