Golang | Leetcode Golang题解之第147题对链表进行插入排序

题目:

题解:

Go 复制代码
func insertionSortList(head *ListNode) *ListNode {
    if head == nil {
        return nil
    }
    dummyHead := &ListNode{Next: head}
    lastSorted, curr := head, head.Next
    for curr != nil {
        if lastSorted.Val <= curr.Val {
            lastSorted = lastSorted.Next
        } else {
            prev := dummyHead
            for prev.Next.Val <= curr.Val {
                prev = prev.Next
            }
            lastSorted.Next = curr.Next
            curr.Next = prev.Next
            prev.Next = curr
        }
        curr = lastSorted.Next
    }
    return dummyHead.Next
}
相关推荐
薰衣草233344 分钟前
滑动窗口(2)——不定长
python·算法·leetcode
GM_8284 小时前
【Go项目基建】GORM框架实现SQL校验拦截器(完整源码+详解)
sql·golang·拦截器·gorm·慢查询·持久层基建
YGGP10 小时前
3D 版接雨水
golang
YuTaoShao13 小时前
【LeetCode 每日一题】1277. 统计全为 1 的正方形子矩阵
算法·leetcode·矩阵
野犬寒鸦13 小时前
力扣hot100:相交链表与反转链表详细思路讲解(160,206)
java·数据结构·后端·算法·leetcode
阿昭L13 小时前
leetcode两数之和
算法·leetcode
Lris-KK14 小时前
【Leetcode】高频SQL基础题--1164.指定日期的产品价格
sql·leetcode
脚踏实地的大梦想家16 小时前
【Go】P2 Golang 常量与变量
开发语言·后端·golang
张璐月16 小时前
go docker-compose启动前后端分离项目 踩坑之旅
开发语言·docker·golang
Swift社区17 小时前
Swift 解法详解:LeetCode 371《两整数之和》
开发语言·leetcode·swift