把鍊錶右邊的 拿過來以此插入到左邊的鍊錶
思路:如果鍊錶長度為n,直接給出時間複雜度為o(n) 額外空間複雜度為o(1)的方法
1 如果鍊錶為空,或者長度為1 不調整
2 鍊錶長度大於1時, 遍歷一便找到左半區最後乙個節點 記為mid
package tt;
public class test115
} public void relocate(node head)
node mid = head;
node right = head.next;
while(right.next!=null && right.next.next !=null)
right=mid.next;
mid.next=null;
mergelr(head, right);
}public void mergelr(node left, node right)
left.next=right;
}}
posted @
2017-09-11 20:05
toov5 閱讀(
...)
編輯收藏
按照左右半區的方式重新組合單鏈表
題目 給定乙個單鏈表的頭部節點head,鍊錶長度為n 如果n為偶數,那麼前n 2個節點算作左半區,後n 2個節點算作右半區 如果n為奇數,那麼前n 2個節點算作左半區,後n 2 1個節點算作右半區。左半區從左到右依次記為l1 l2 右半區從左到右依次記為r1 r2 請將單鏈表調整成l1 r1 l2 ...
演算法題 按照左右半區的方式重新組合單鏈表
程式設計題 按照左右半區的方式重新組合單鏈表 時間限制 1秒 空間限制 32768k 給定乙個單鏈表的頭部節點head,鍊錶長度為n。如果n為偶數,那麼前n 2個節點算作左半區,後n 2個節點算作右半區 如果n為奇數,那麼前n 2個節點算作左半區,後n 2 1個節點算作右半區 左半區從左到右依次記為...
鍊錶問題20 按照左右半區的方式重新組合單鏈表
給定乙個單鏈表的頭部節點head,鍊錶長度為n,如果n為偶數,那麼前n 2個節點算作左半區,後n 2個節點算作右半區 如果n為奇數,那麼前n 2個節點算作左半區,後n 2 1個節點算作右半區。左半區從左到右依次為l1 l2 l3 右半區從左到右依次記為r1 r2 請將單鏈表調整成l1 r1 l2 r...