lintcode 99 重排鍊錶

2021-07-30 20:51:57 字數 651 閱讀 1278

描述:

給定乙個單鏈表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 ...