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
}
相关推荐
Khsc434ka39 分钟前
LeetCode-001:Python 实现哈希表求两数之和:初识哈希表
python·leetcode·散列表
yangyanping201081 小时前
Go语言学习之配置管理库Viper
开发语言·学习·golang
pixcarp1 小时前
GORM基础入门使用教程
数据库·golang
呆萌很1 小时前
【GO】结构体定义练习题
golang
Byte不洛1 小时前
LeetCode双指针经典题
c++·算法·leetcode·双指针
米粒11 小时前
力扣算法刷题 Day 34
算法·leetcode·职场和发展
田梓燊1 小时前
leetcode 189
算法·leetcode·职场和发展
一条闲鱼_mytube2 小时前
【深入理解】HTTP/3 与 QUIC 协议:从原理到 Go 语言实战
网络协议·http·golang
麦德泽特2 小时前
基于 Go 语言的 Modbus 项目实战:构建高性能、可扩展的工业通信服务器
服务器·开发语言·golang·modbus·rtu
sheeta19982 小时前
LeetCode 每日一题笔记 日期:2025.04.06 题目:874. 模拟行走机器人
笔记·leetcode·机器人