【leetcode】【单链表】【148】Sort List
来源:互联网 发布:&在c语言中是什么意思 编辑:程序博客网 时间:2024/05/17 01:37
#include<iostream>using namespace std;struct ListNode {int val;ListNode *next;ListNode(int x) : val(x), next(NULL) {}};class Solution {public:ListNode* merge(ListNode* l1, ListNode* l2){ListNode* temp = new ListNode(0);ListNode* cur = temp;while (l1&&l2){if (l1->val < l2->val){cur->next = l1;l1 = l1->next;}else{cur->next = l2;l2 = l2->next;}cur = cur->next;}if (l1)cur->next = l1;elsecur->next = l2;cur = temp->next;temp->next = NULL;delete temp;return cur;}ListNode* mergeSort(ListNode* head){ //归并排序if (head == NULL || head->next == NULL)return head;ListNode* slow = head;ListNode* fast = head;ListNode* preSlow = NULL;while (fast&&fast->next){preSlow = slow;slow = slow->next;fast = fast->next->next;}preSlow->next = NULL;ListNode* lList = mergeSort(head);ListNode* rList = mergeSort(slow);return merge(lList, rList);}ListNode* sortList(ListNode* head) {if (head == NULL || head->next == NULL)return head;return mergeSort(head);}ListNode* createList(ListNode* head){int numOfNode;int value;cout << "please input number of listNode:";cin >> numOfNode;cin >> value;head = new ListNode(value);ListNode* cur = head;for (int i = 1; i < numOfNode; ++i){cin >> value;ListNode* temp = new ListNode(value);cur->next = temp;cur = temp;}return head;}void printNode(ListNode* head){ListNode* cur = head;while (cur){cout << cur->val << " ";cur = cur->next;}cout << endl;}};int main(){Solution solution;ListNode* head = NULL;head = solution.createList(head);solution.printNode(head);head = solution.sortList(head);solution.printNode(head);system("pause");return 0;}
0 0
- 【leetcode】【单链表】【148】Sort List
- LeetCode(148)Sort List
- LeetCode: Sort List [148]
- LeetCode 148 Sort List
- [leetcode 148] Sort List
- [LeetCode 148]Sort List
- leetcode-148 Sort List
- Leetcode 148 Sort List
- LeetCode 148: Sort List
- 【leetcode 148 Sort List】
- Leetcode[148]-Sort List
- Sort List - LeetCode 148
- Leetcode# 148 Sort List
- Leetcode # 148 Sort List
- LeetCode(148) Sort List
- leetcode 148: Sort List
- [Leetcode]#148 Sort List
- 148 Sort List [Leetcode]
- php中CURL加载失败
- IntelliJ IDEA 问题总结之一 —— jar包、assets、maven、git
- Android 休眠 FLAG_KEEP_SCREEN_ON
- 【转】 基本图像知识
- 《Effective Java》中关于异常处理的几条建议
- 【leetcode】【单链表】【148】Sort List
- JAVA动态代理实现
- 【算法】1 由插入排序看如何分析和设计算法
- 发面经攒人品
- 安装 Caffe , Berkely的深度学习框架
- Activiti 工作流会签开发设计思路
- C#类型转换
- Linux命令之<more命令与less命令>
- 【SCOI2012】【BZOJ2753】滑雪与时间胶囊