143 重排鍊錶

2021-10-25 03:24:58 字數 550 閱讀 2762

給定乙個單鏈表 l:l0→l1→…→ln-1→ln ,

將其重新排列後變為: l0→ln→l1→ln-1→l2→ln-2→…

你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。

示例 1:

給定鍊錶 1->2->3->4, 重新排列為 1->4->2->3.

暴力,使用stack逆序儲存後面要插入的數字(因為和遍歷的順序相反所以用stack儲存)

class solution 

left = head;

int dis = num - (num/2) - 1;

stackstk;

listnode* tmp;

for(int i=0;inext;

continue;

}tmp = left->next;

left->next = null;

break;

}while(tmp)

left = head;

while(!stk.empty())

}};

143 重排鍊錶

143.重排鍊錶 給定乙個單鏈表 l l0 l1 l n 1 ln 將其重新排列後變為 l0 l n l1 l n 1 l2 l n 2 你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。示例 1 給定鍊錶 1 2 3 4,重新排列為 1 4 2 3.示例 2 給定鍊錶 1 2 3 4 ...

143 重排鍊錶

題解 時間複雜度 o n 空間複雜度 o n definition for singly linked list.struct listnode listnode int x val x next nullptr listnode int x,listnode next val x next nex...

143 重排鍊錶

題目 給定乙個單鏈表 l l0 l1 l n 1 ln 將其重新排列後變為 l0 l n l1 l n 1 l2 l n 2 你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。示例 1 給定鍊錶 1 2 3 4,重新排列為 1 4 2 3.示例 2 給定鍊錶 1 2 3 4 5,重新排列...