推 Richun: 寫法1的東西放在heap,寫法2的會放在stack 06/07 17:33
→ jack7775kimo: 想想n什麼時候會解構,進而造成一些麻煩 06/07 17:49
推 idiont: 寫法2 n的lifetime只到該次迴圈結束 06/07 17:51
推 cuteSquirrel: 物件的生命週期不同 06/07 19:15
哇 一語驚醒夢中人! 感謝樓上前輩們的指點!!
※ 編輯: CppGod (123.194.180.216 臺灣), 06/07/2024 22:03:26
→ peter98: 看了一下,好奇為什麼這題是medimum 0.0 06/07 22:16
→ peter98: 是因為對外國人來說算GCD比較困難? 06/07 22:16
推 LPH66: 我猜應該是把兩件事 (GCD 跟鏈結串列插入) 合起來的關係? 06/08 07:28
→ wulouise: 要找本基礎書看,建議 06/08 11:58
→ peter98: 我還是覺得這題應該是easy~ 雖然沒寫過但10分內可以秒掉 06/08 20:38
→ peter98: 另外給個刷題的建議(這個建議無關程式正確與否,只是關乎 06/08 20:39
→ peter98: 到面試20分鐘內要寫完一個不易出錯的程式),盡量不要用 06/08 20:39
→ peter98: while(ptr->next != NULL)這種判斷,容易錯,最好是讓ptr 06/08 20:40
→ peter98: 一開始就先往前跳一個node,while只判斷ptr != NULL,另 06/08 20:40
→ peter98: 外也盡量不要用ptr->next->next這種一個next再一個next的 06/08 20:40
→ peter98: 寫法,哪天你不小心while只判斷ptr!=null時,那個ptr-> 06/08 20:41
→ peter98: next->next就GG惹,重申一次,我給的這個建議只跟面試刷 06/08 20:41
→ peter98: 題有關,能確保一開始就寫出不容易錯的code,不用debug 06/08 20:41
→ peter98: 這題就先判斷head是不是null,事就直接return,接下來 06/08 20:46
→ peter98: ListNode *prev = head; ListNode *cur= head->next 06/08 20:46
→ peter98: 用while(cur) {......; cur = cur->next}去玩就好 06/08 20:46
→ peter98: 保持這種寫法,將來遇到複雜的LinkedList操作就不易出錯 06/08 20:47
→ peter98: while裡面當然也要繼續maintain prev 06/08 20:48
→ CppGod: 感謝wu大分享書單 & 感謝peter大教學 06/14 00:51