1.求出鍊錶的長度len
2.len/k求出平均每段鍊錶的長度,len%k求出多出平均長度的個數
3.把每段鍊錶的頭指標存入結果陣列
時間複雜度:o(n+k)/**
* definition for singly-linked list.
* struct listnode
* };
*/class
solution
int mod = len % k;
int size = len / k;
vector>
res(k,
null);
cur = root;
for(
int i =
0;cur !=
null
&& i < k;
++i)
listnode* next = cur-
>next;
cur-
>next =
null
; cur = next;
}return res;}}
;
空間複雜度:o(k)
725 分隔鍊錶
給定乙個頭結點為 root 的鍊錶,編寫乙個函式以將鍊錶分隔為 k 個連續的部分。每部分的長度應該盡可能的相等 任意兩部分的長度差距不能超過 1,也就是說可能有些部分為 null。這k個部分應該按照在鍊錶 現的順序進行輸出,並且排在前面的部分的長度應該大於或等於後面的長度。返回乙個符合上述規則的鍊錶...
LeetCode 725 分隔鍊錶
給定乙個頭結點為 root 的鍊錶,編寫乙個函式以將鍊錶分隔為 k 個連續的部分。每部分的長度應該盡可能的相等 任意兩部分的長度差距不能超過 1,也就是說可能有些部分為 null。這k個部分應該按照在鍊錶中出現的順序進行輸出,並且排在前面的部分的長度應該大於或等於後面的長度。返回乙個符合上述規則的鍊...
LeetCode 725 分隔鍊錶
給定乙個頭結點為 root 的鍊錶,編寫乙個函式以將鍊錶分隔為 k 個連續的部分。每部分的長度應該盡可能的相等 任意兩部分的長度差距不能超過 1,也就是說可能有些部分為 null。這k個部分應該按照在鍊錶 現的順序進行輸出,並且排在前面的部分的長度應該大於或等於後面的長度。返回乙個符合上述規則的鍊錶...