61. 旋轉鍊錶
一共用兩個指標,第乙個記錄鍊錶的尾節點,第一次遍歷記錄鍊錶的長度,由於k可能很大所有我們對k模上n,第二次遍歷記錄我們用第二個指標記錄要翻轉的第二段鍊錶的前乙個節點,然後用尾部指標tail的next指標指向頭結點,頭結點等於第二個指標的next指標,第二個指標的next指標指向null。
/**
* definition for singly-linked list.
* struct listnode
* listnode(int x) : val(x), next(nullptr) {}
* listnode(int x, listnode *next) : val(x), next(next) {}
* };
*/class
solution
k %= n;if(
!k)return head;
auto p = head;
for(
int i =
0; i < n - k -
1; i++
) p = p-
>next;
tail-
>next = head;
head = p-
>next;
p->next =
null
;return head;}}
;
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...