排序链表
题目链接: https://leetcode.cn/problems/sort-list
解题思路:
将队列从中间一分为二,分割方法用两个指针指向链表头,一个向后遍历一个元素一个向后遍历两个元素,当遍历到尾部时,另一个指针指向的链表就是后半部分的头元素
对拆分后的链表继续拆分,直至到单个元素,再两两进行排序合并,由小到大升序合并,得出多个相对有序链表
合并到最后,将两个相对有序的链表合并成一个完整的有序链表并返回
复杂度分析
最后更新于
这有帮助吗?
题目链接: https://leetcode.cn/problems/sort-list
将队列从中间一分为二,分割方法用两个指针指向链表头,一个向后遍历一个元素一个向后遍历两个元素,当遍历到尾部时,另一个指针指向的链表就是后半部分的头元素
对拆分后的链表继续拆分,直至到单个元素,再两两进行排序合并,由小到大升序合并,得出多个相对有序链表
合并到最后,将两个相对有序的链表合并成一个完整的有序链表并返回
最后更新于
这有帮助吗?
时间复杂度: 时间复杂度为,为链表长度
空间复杂度: 空间复杂度为,为链表长度