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