1025 反轉鍊錶 25 分

2022-09-19 05:30:12 字數 1104 閱讀 6005

**是看的別人的。

測試點

輸入k=0

輸出 -1

輸入k=1

輸出

#include #include using namespace std;

struct node

list[100000];

int main()

//根據next值,把正確連線順序放入另乙個陣列

while (start != -1)

//對vec陣列進行,每k個資料的反轉操作

int cnt = 0;

if (k)//k不等於0

cnt++;}}

//按首尾格式輸出

for (int j = 0; j < vec.size(); j++)

cout<

return 0;

}

有乙個測試點,沒找到。嗚嗚

把**替換成那個大佬的可以通過,誰可以告訴我一下是**不一樣

//對vec陣列進行,每k個資料的反轉操作

if (k)

int sum = 0;//不一定所有的輸入的結點都是有用的,加個計數器

while (first != -1)

for (int i = 0; i < (sum - sum % k); i += k)

reverse(begin(list) + i, begin(list) + i + k);

for (int i = 0; i < sum - 1; i++)

printf("%05d %d %05d\n", list[i], data[list[i]], list[i + 1]);

printf("%05d %d -1", list[sum - 1], data[list[sum - 1]]);

return 0;

}

c++提供了乙個swap函式用於交換,用法如下。

swap 包含在命名空間std 裡面

1025 反轉鍊錶 (25 分)

給定乙個常數 k 以及乙個單鏈表 l,請編寫程式將 l 中每 k 個結點反轉。例如 給定 l 為 1 2 3 4 5 6,k 為 3,則輸出應該為 3 2 1 6 5 4 如果 k 為 4,則輸出應該為 4 3 2 1 5 6,即最後不到 k 個元素不反轉。輸入格式 每個輸入包含 1 個測試用例。每...

1025 反轉鍊錶 (25 分)

1025 反轉鍊錶 25 分 給定乙個常數 k 以及乙個單鏈表 l,請編寫程式將 l 中每 k 個結點反轉。例如 給定 l 為 1 2 3 4 5 6,k 為 3,則輸出應該為 3 2 1 6 5 4 如果 k 為 4,則輸出應該為 4 3 2 1 5 6,即最後不到 k 個元素不反轉。輸入格式 每...

1025 反轉鍊錶 25 分

給定乙個常數 k 以及乙個單鏈表 l,請編寫程式將 l 中每 k 個結點反轉。例如 給定 l 為 1 2 3 4 5 6,k 為 3,則輸出應該為 3 2 1 6 5 4 如果 k 為 4,則輸出應該為 4 3 2 1 5 6,即最後不到 k 個元素不反轉。輸入格式 每個輸入包含 1 個測試用例。每...