20 11 21 leetcode148 鍊錶排序

2022-03-11 13:36:17 字數 596 閱讀 9473

題意:要求以o(nlogn)的複雜度給乙個鍊錶排序

分析:昨天那道題的公升級版,這裡用的是歸併排序的思想,自頂向下的排序,從一開始完整的鍊錶不斷的每次分成兩段,分到每段只有乙個結點為止,再一點點的合併,要注意的是sortlist的函式是前閉後開的。

class

solution

listnode* sortlist(listnode* head,listnode*tail)

listnode* slow=head,*fast=head;

while(fast!=tail)

return

merge(sortlist(head,slow),sortlist(slow,tail));

}listnode* merge(listnode* head1,listnode*head2)

else

tmp=tmp->next;

}if(temp1!=nullptr)tmp->next=temp1;

else

if(temp2!=nullptr)tmp->next=temp2;

return dummyhead->next;

}};

leetcode題目。題號1

題目描述 給定乙個整數陣列和乙個目標值,找出陣列中和為目標值的兩個數。你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9 所以返回 0,1 解題思路 迴圈遍歷所有可能,每一次判斷是否與...

leetcode 鍊錶1

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 e...

leetcode 括號生成 1

題目鏈結 給出 n 代表生成括號的對數,請你寫出乙個函式,使其能夠生成所有可能的並且有效的括號組合。例如,給出 n 3,生成結果為 我的方法,dfs,然後再n 1層上 的前面和後面分別新增括號 另外,這個總數是第n個卡塔蘭數 dfrac binomn 11 n2n class solution el...