LeetCode刷題筆錄 Reorder List

2021-06-21 11:30:43 字數 848 閱讀 5424

given a singly linked list l: l

0→l1→…→l

n-1→l

n,reorder it to: l

0→ln

→l1→l

n-1→l

2→ln-2→…

you must do this in-place without altering the nodes' values.

for example,

given, reorder it to.

在ctci的鍊錶那節有個類似的題。這裡這道題要多一步反轉鍊錶而已。

1.把鍊錶從中間分成前後兩部分。如果鍊錶長度是奇數,那麼前面的鍊錶長度多一。

2.把後半部分鍊錶反轉

3.再把兩個鍊錶合併

沒有用到extra space,時間複雜度o(n)

public class solution 

else

slow = slow.next;

}//reverse the second part

listnode secondhead = reverselist(slow.next);

slow.next = null;

//merge the two lists

merge(head, secondhead);

}public listnode reverselist(listnode node)

return p;

}public void merge(listnode node1, listnode node2)

}}

LeetCode刷題筆錄Count and Say

the count and say sequence is the sequence of integers beginning as follows 1,11,21,1211,111221,1is read off as one 1 or11.11is read off as two 1s or2...

開始刷題LeetCode

今天決定開始刷題,每天至少一題,如果題目確實沒有解決出來沒有關係,但是要保證每天至少接觸了一道新的題目!一定要堅持下去,現在是個菜鳥可能會感覺有點難度,堅持下去,總有一天會好的!今天是第一天,做的第乙個題目 reverse words in a string given an input strin...

leetcode刷題歷程

難度 簡單 題目 給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 ...