61 旋轉鍊錶

2021-10-04 12:56:18 字數 1325 閱讀 2595

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

null

, k =

4輸出:

2->

0->

1->

null

解釋:向右旋轉 1 步:

2->

0->

1->

null

向右旋轉 2 步:

1->

2->

0->

null

向右旋轉 3 步:

0->

1->

2->

null

向右旋轉 4 步:

2->

0->

1->

null

思想:截斷+轉移

**:

struct listnode*

rotateright

(struct listnode* head,

int k)

int move_len = len - k%len;

if(move_len == len)

return head;

for(

int i =

0; i < move_len-

1; i++

) newhead = newhead->next;

temp = newhead;

newhead = newhead->next;

temp->next =

null

; tail->next = head;

return newhead;

}

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

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

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