題目:k個一組翻轉鍊錶
思路:遞迴
遞迴函式返回已經反轉好的鍊錶;
遞迴函式需要把本次翻轉好的鍊錶 鏈到 下一次翻轉好的鍊錶上。
**:
/**
* definition for singly-linked list.
* public class listnode
* listnode(int val)
* listnode(int val, listnode next)
* }*/class
solution
listnode last = head;
for(
int i =
0; i < k -
1; i ++)}
listnode nexthead = last.next;
last.next = null;
listnode root =
reverse
(head)
;// reverse後,head變成了最後乙個節點
head.next =
reversekgroup
(nexthead, k)
;return root;
}public listnode reverse (listnode head)
listnode node =
reverse
(head.next)
; head.next.next = head;
head.next = null;
return node;
}}
牛客71E 組一組
看見是位運算,就知道按位考慮,看見一段連續的全是1,一段1的個數 1,一段全是0,一段1的個數本來我以為由於可以確定哪些地方是1哪些地方是0,就按照單向邊從小到大,就不用建回來的邊,題目保證有解,那麼這樣就一定會出來一組合法解。但通過這題的實驗,我發現少了任何一種關係的建邊,都會wa掉 而且這題如果...
k個一組翻轉鍊錶
題目描述 給出乙個鍊錶,每 k 個節點一組進行翻轉,並返回翻轉後的鍊錶。k 是乙個正整數,它的值小於或等於鍊錶的長度。如果節點總數不是 k 的整數倍,那麼將最後剩餘節點保持原有順序。示例 給定這個鍊錶 1 2 3 4 5當 k 2 時,應當返回 2 1 4 3 5當 k 3 時,應當返回 3 2 1...
LeetCode k個一組翻轉鍊錶
給出乙個鍊錶,每 k 個節點一組進行翻轉,並返回翻轉後的鍊錶。k 是乙個正整數,它的值小於或等於鍊錶的長度。如果節點總數不是 k 的整數倍,那麼將最後剩餘節點保持原有順序。示例 給定這個鍊錶 1 2 3 4 5 當 k 2 時,應當返回 2 1 4 3 5 當 k 3 時,應當返回 3 2 1 4 ...