# LeetCode | 148. Sort List

Given the head of a linked list, return the list after sorting it in ascending order.

Follow up: Can you sort the linked list in O(n logn) time and O(1) memory (i.e. constant space)?

Example 1:

Input: head = [4,2,1,3]
Output: [1,2,3,4]


Example 2:

Input: head = [-1,5,3,4,0]
Output: [-1,0,3,4,5]


Example 3:

Input: head = []
Output: []


Constraints:

• The number of nodes in the list is in the range [0, 5 * 104].
• -105 <= Node.val <= 105

/**
* struct ListNode {
*     int val;
*     ListNode *next;
*     ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
void swap(int& a, int& b) {
int tmp = a;
a = b;
b = tmp;
return;
}
ListNode* getPartition(ListNode* head, ListNode* end) {
while(cur != end)
{
if(cur->val < key->val)
{
p = p->next;
swap(cur->val, p->val);
}
cur = cur->next;
}
swap(key->val, p->val);
return p;
}
void sort(ListNode* head, ListNode* end) {
return;
sort(partition->next, end);
}
}
};

• 点赞
• 评论
• 分享
x

海报分享

扫一扫，分享海报

• 收藏
• 手机看

分享到微信朋友圈

x

扫一扫，手机阅读

• 打赏

打赏

1LOVESJohnny

你的鼓励将是我创作的最大动力

C币 余额
2C币 4C币 6C币 10C币 20C币 50C币
• 一键三连

点赞Mark关注该博主, 随时了解TA的最新博文
10-24
07-11 5100

01-10 638
09-20 450
10-04 352