描述:
給定乙個單鏈表l: l
0→l1→…→l
n-1→l
n,重新排列後為:l
0→ln→l
1→ln-1→l
2→ln-2→…
必須在不改變節點值的情況下進行原地操作。
樣例:給出鍊錶1->2->3->4->null
,重新排列後為1->4->2->3->null
。
思路:直接用迴圈來做 記憶體超了 後改用遞迴
/**
* definition for listnode.
* public class listnode
* }* 遞迴節省了大量記憶體空間
*/ public class solution
listnode low = null;
listnode high = head;
while(high.next != null)
listnode temp = head.next;
head.next = high;
low.next = null;
reorderlist(temp);
high.next = temp;
}}
lintcode 99 重排鍊錶
給定乙個單鏈表l l0 l1 ln 1 ln,重新排列後為 l0 ln l1 ln 1 l2 ln 2 必須在不改變節點值的情況下進行原地操作。樣例給出鍊錶 1 2 3 4 null,重新排列後為1 4 2 3 null。挑戰can you do this in place without alte...
213 重排鍊錶
題目描述 給定乙個單鏈表 l l0 l1 ln 1 ln 將其重新排列後變為 l0 ln l1 ln 1 l2 ln 2 你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。示例 1 給定鍊錶 1 2 3 4,重新排列為 1 4 2 3.示例 2 給定鍊錶 1 2 3 4 5,重新排列為 ...
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 ...