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
}
相关推荐
齐雅彤1 分钟前
Bash语言的并发编程
开发语言·后端·golang
峰子201216 分钟前
B站评论系统的多级存储架构
开发语言·数据库·分布式·后端·golang·tidb
寻找优秀的自己3 小时前
Go 不可重复协程安全队列
golang·队列
Quantum&Coder3 小时前
Objective-C语言的计算机基础
开发语言·后端·golang
五味香3 小时前
Java学习,List 元素替换
android·java·开发语言·python·学习·golang·kotlin
Code侠客行5 小时前
Scala语言的编程范式
开发语言·后端·golang
lozhyf5 小时前
Go语言-学习一
开发语言·学习·golang
Swift社区5 小时前
统计文本文件中单词频率的 Swift 与 Bash 实现详解
vue.js·leetcode·机器学习
圆圆滚滚小企鹅。5 小时前
刷题笔记 贪心算法-1 贪心算法理论基础
笔记·算法·leetcode·贪心算法
爱偷懒的程序源5 小时前
解决go.mod文件中replace不生效的问题
开发语言·golang