Processing math: 100%

Boostable

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  116 随笔 :: 0 文章 :: 28 评论 :: 92318 阅读

LeetCode: Insertion Sort List

Sort a linked list using insertion sort.

地址:https://oj.leetcode.com/problems/insertion-sort-list/

算法:按题目的意思,采用插入排序对链表进行排序,时间复杂度为O(n2)。代码:

复制代码
 1 /**
 2  * Definition for singly-linked list.
 3  * struct ListNode {
 4  *     int val;
 5  *     ListNode *next;
 6  *     ListNode(int x) : val(x), next(NULL) {}
 7  * };
 8  */
 9 class Solution {
10 public:
11     ListNode *insertionSortList(ListNode *head) {
12         ListNode *p = head, *q = NULL, *pre = NULL;
13         if(p){
14             p = p->next;
15             head->next = NULL;
16         }
17         while(p){
18             pre = NULL;
19             q = head;
20             while(q && q->val <= p->val){
21                 pre = q;
22                 q = q->next;
23             }
24             if(pre){
25                 pre->next = p;
26                 p = p->next;
27                 pre->next->next = q;
28             }else{
29                 head = p;
30                 p = p->next;
31                 head->next = q;
32             }
33         }
34         return head;
35     }
36 };
复制代码

 

posted on   Boostable  阅读(193)  评论(0编辑  收藏  举报
编辑推荐:
· 电商平台中订单未支付过期如何实现自动关单?
· 用 .NET NativeAOT 构建完全 distroless 的静态链接应用
· 为什么构造函数需要尽可能的简单
· 探秘 MySQL 索引底层原理,解锁数据库优化的关键密码(下)
· 大模型 Token 究竟是啥:图解大模型Token
阅读排行:
· 瞧瞧别人家的限流,那叫一个优雅!
· 1.net core 工作流WorkFlow流程(介绍)
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· 面试官:如果某个业务量突然提升100倍QPS你会怎么做?
· .NET 平台上的开源模型训练与推理进展
点击右上角即可分享
微信分享提示