博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
链表排序.md
阅读量:2380 次
发布时间:2019-05-10

本文共 1601 字,大约阅读时间需要 5 分钟。

Sort a linked list in O(n log n) time using constant space complexity.

Example 1:

Input: 4->2->1->3Output: 1->2->3->4

Example 2:

Input: -1->5->3->4->0Output: -1->0->3->4->5

解析:

先将链表分成两部分,然后在合并这两部分链表

代码:

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:    ListNode* merge(ListNode* left, ListNode* right)//合并两部分链表    {        ListNode* head = new ListNode(-1);        ListNode* pre = head;        while(left != nullptr && right != nullptr)        {            if(left->val <= right->val)            {                pre->next = left;                pre = left;                left = left->next;            }            else            {                pre->next = right;                pre = right;                right = right->next;            }        }        if(left != nullptr)            pre->next = left;        if(right != nullptr)            pre->next = right;                return head->next;    }    ListNode* sortList(ListNode* head) {        if(head == nullptr || head->next == nullptr)            return head;        ListNode* pre = nullptr;        ListNode* slow = head;        ListNode* fast = head;        //将链表分成两部分        while(fast != nullptr && fast->next != nullptr)        {            pre = slow;            slow = slow->next;            fast = fast->next->next;        }        pre->next = nullptr;//将链表断开,slow为后面一个链表的头        ListNode* left = sortList(head);        ListNode* right = sortList(slow);                return merge(left, right);    }};

转载地址:http://ytwab.baihongyu.com/

你可能感兴趣的文章
ERP&SCM&MES發展歷程
查看>>
风-----
查看>>
系统Server架构图
查看>>
我的简历
查看>>
一种自适应的柔性制造系统优化调度算法
查看>>
现代管理思想与总图设计
查看>>
原创BPR之企业流程分析模型图 FDD
查看>>
PLM技术促进现代模具企业精益化和规模化
查看>>
独一无二的IFS CAD与PDM集成工具发布
查看>>
BPR-FDD 模型图原始档
查看>>
mail
查看>>
团队管理的五项职能--学习笔记加个人理解总结
查看>>
自勉三句话--关于职业生涯规划
查看>>
grace
查看>>
test
查看>>
用友实施方法论
查看>>
系统功能清单
查看>>
ERP&MES&SCM 三兄弟发展史
查看>>
Grace的简历-v3.1
查看>>
file2
查看>>