[LeetCode 题解]: Insertion Sort List
2024-08-28 23:31:04
Sort a linked list using insertion sort.
题目要求:链表的插入排序,由于没有时间复杂度的要求,可以直接循环操作。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* insert(ListNode* head,int num){
ListNode *node = new ListNode(num);
if(head==NULL || num <= head->val){
node->next=head;
return node;
} ListNode *pre = head;
ListNode *tail = head->next;
while(tail!=NULL && num > tail->val){ // 一定要注意tail!=NULL 先决条件
pre= tail;
tail=tail->next;
}
node->next = pre->next;
pre->next = node;
return head; }
ListNode* insertionSortList(ListNode *head){
if(head==NULL || head->next==NULL) return head;
ListNode *tmp = head;
ListNode* ans=NULL;
while(tmp!=NULL){
ans = insert(ans,tmp->val);
tmp =tmp->next;
}
return ans;
}
};
转载请注明出处: http://www.cnblogs.com/double-win/ 谢谢!
最新文章
- Convert BSpline Curve to Arc Spline in OpenCASCADE
- Python中MySQLdb模块的安装
- bootstrap-fileupload-上传文件控件
- Loadrunner 接口测试的两种方法
- 【转】雪崩光电二极管(APD)偏置电源及其电流监测
- 转 java 类 单例
- EXT.NET常用属性
- poj 1094
- python 人工智能资源推荐
- mysql 函数学习(常用)
- 2018.我的NOIP补全计划
- selenium 文件上传
- 2028 ACM Lowest Common Multiple Plus
- openresty + lua 2、openresty 连接 redis,实现 crud
- EBS Webservice Timeout,HTTP Server Return ";500 Internal Server Error";
- (一)预定义宏、__func__、_Pragma、变长参数宏定义以及__VA_ARGS__
- 【对比分析六】JavaScript中GET和POST的区别及使用场景
- 采购文件中 RFI、RFQ、RFP、IFB的区别
- MySQL——安装
- input file实现多次上传文件(不会覆盖上次上传的文件)