牛客 劍指offer k個一組翻轉鍊錶

2021-10-20 19:35:20 字數 899 閱讀 5216

題目: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 ...