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 };
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 编码之道,道心破碎。
· 记一次 .NET 某发证机系统 崩溃分析
· 微服务架构学习与思考:SOA架构与微服务架构对比分析
· tomcat为什么假死了
· 聊一聊 Linux 上对函数进行 hook 的两种方式
· 一周 Star 破万的开源项目「GitHub 热点速览」
· 编码之道,道心破碎。
· 千万级大表,如何做性能调优?
· 知名开源项目Alist被收购!惹程序员众怒,开团炮轰甲方
· 不写代码,让 AI 生成手机 APP!保姆级教程