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
}
相关推荐
flashlight_hi3 小时前
LeetCode 分类刷题:404. 左叶子之和
javascript·算法·leetcode
月屯3 小时前
后端go完成文档分享链接功能
开发语言·后端·golang
小白程序员成长日记4 小时前
2025.11.19 力扣每日一题
算法·leetcode·职场和发展
青小俊5 小时前
【代码随想录c++刷题】-二分查找 移除元素 有序数组的平方 - 第一章 数组 part 01
c++·算法·leetcode
喵了几个咪5 小时前
Golang微服务框架Kratos实现Thrift服务
开发语言·微服务·golang
倦王7 小时前
力扣日刷251120
算法·leetcode·职场和发展
cpp_25018 小时前
P1765 手机
数据结构·c++·算法·题解·洛谷
Zzz 小生9 小时前
Github-Go语言AI智能体开发套件:构建下一代智能代理的利器
人工智能·golang·github
Miraitowa_cheems10 小时前
LeetCode算法日记 - Day 108: 01背包
数据结构·算法·leetcode·深度优先·动态规划
小武~11 小时前
Leetcode 每日一题C 语言版 -- 88 merge sorted array
c语言·算法·leetcode