lintcode-链表插入排序
2015-10-24 22:27
344 查看
用插入排序对链表排序
样例
Given
样例
Given
1->3->2->0->null, return
0->1->2->3->null
/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * this->val = val; * this->next = NULL; * } * } */ class Solution { public: ListNode *insertionSortList(ListNode *head) { if(!head) return nullptr; ListNode *dummy=new ListNode(0); ListNode *temp=nullptr; while(head){ //head节点插入dummy链表中 temp=dummy; //temp指向dummy的头节点 ListNode *next=head->next; while(temp->next!=nullptr&&temp->next->val<head->val) //寻找插入点 temp=temp->next; head->next=temp->next; temp->next=head; head=next; } temp=dummy; dummy=dummy->next; free(temp); return dummy; } };
相关文章推荐
- MFC中添加ToolTip提示框
- 项目目标文档
- 测试用例的编写
- [sicily]1298. 数制转换
- VIM 开发环境
- JAVA大数运算
- HashMap源码解读
- 黑马程序员——Java基础语法 之面向对象(概念,特征,this,static关键字,代码块)
- 关于S3C2440从NAND Flash启动的问题
- zoj Modular Inverse 3609 (拓展欧几里德)
- leetcode之Binary Tree Inorder Traversal
- 百度面试题2012
- uva 11594 划分回文串
- iOS激情详解之Core Data
- LightOJ 1148 - Mad Counting (map运用)
- LeetCode之Unique Binary Search Trees & Unique Binary Search Trees II
- iOS开发11-iOS 数据持久化(简单、复杂对象的读写)
- 究竟什么是敏捷测试
- 浅谈计算机中的存储管理-(物理内存)
- CentOS 6.5 (CentOS 7)安装过程记录