lintcode 98 鍊錶排序

2022-03-29 17:45:00 字數 873 閱讀 4710

在 o(n log n) 時間複雜度和常數級的空間複雜度下給鍊錶排序。

樣例給出 1->3->2->null,給它排序變成 1->2->3->null.

挑戰分別用歸併排序和快速排序做一遍。

標籤鍊錶

思路

採用歸併排序(時間複雜度是o(nlogn)的排序有快速排序、歸併排序、堆排序),使用快慢指標找出鍊錶中點。

code

/**

* definition of listnode

* class listnode

* }*/class solution

listnode *fast = head, *slow = head, *temp = head;;

while(fast != null && fast->next != null)

temp->next = null;

return mergelist(sortlist(head), sortlist(slow));

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

if(head2 == null)

listnode newhead(0);

listnode *temp = &newhead;

while(head1 != null && head2 != null)

else

temp = temp->next;

}if(head1 != null)

else if(head2 != null)

return newhead.next;

}};

lintcode練習 98 鍊錶排序

在 o n log n 時間複雜度和常數級的空間複雜度下給鍊錶排序。給出1 3 2 null,給它排序變成1 2 3 null.分別用歸併排序和快速排序做一遍。實現 definition of listnode class listnode object def init self,val,next...

LintCode 鍊錶排序

鍊錶排序 在 o n log n 時間複雜度和常數級的空間複雜度下給鍊錶排序。您在真實的面試中是否遇到過這個題?yes 樣例給出1 3 2 null,給它排序變成1 2 3 null.挑戰 標籤 相關題目 definition for listnode.public class listnode p...

lintcode 鍊錶排序

在 o n log n 時間複雜度和常數級的空間複雜度下給鍊錶排序。您在真實的面試中是否遇到過這個題?yes 樣例給出1 3 2 null,給它排序變成1 2 3 null.definition for listnode.public class listnode 思路 歸併排序 根據要求採用先so...