給定乙個鍊錶,旋轉鍊錶,將鍊錶每個節點向右移動 k 個位置,其中 k 是非負數。
解題思路:如果說本題保證k小於鍊錶的長度,那麼我們可以通過一次遍歷即可解題,但是這裡的k有可能會大於鍊錶長度,因此需要先求出鍊錶長度,然後取餘,最後就是常規操作啦。斷開鍊錶,重新拼接。
/**
* definition for singly-linked list.
* struct listnode
* };
*/class
solution
k = k % len;
if(k ==0)
return head;
int n = len - k;
cur = head;
for(
int i =
0; i < n -1;
++i) cur = cur-
>next;
listnode *res = cur-
>next;
listnode *pre = cur;
while
(cur-
>next) cur = cur-
>next;
pre-
>next =
null
; cur-
>next = head;
return res;}}
;
leetcode 61 旋轉鍊錶
deciription 給定乙個鍊錶,旋轉鍊錶,將鍊錶每個節點向右移動 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示例 ...
LeetCode61 旋轉鍊錶
很久沒有寫blog了,以至於很長一段時間我都忘記了我還有乙個csdn賬號。也就是每週參加以下leetcode周競賽,膜拜一下大佬,然後發現自己真的是蠢以及一無是處,想的辦法總是,非常蠢。一般就做簡單的題目,這道題是leetcode估計實在是看不下去了,給我email說邀請我做個演算法題,我看了一下,...
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...