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
}
相关推荐
_饭团20 分钟前
指针核心知识:5篇系统梳理2
c语言·笔记·学习·leetcode·面试·改行学it
呆萌很1 小时前
【GO】Map练习题
golang
阿Y加油吧1 小时前
力扣打卡——盛最多水的容器、三数之和
算法·leetcode·排序算法
玛卡巴卡ldf2 小时前
【LeetCode 手撕算法】(子串) 560-和为 K 的子数组
java·数据结构·算法·leetcode
喵喵蒻葉睦3 小时前
力扣 hot100 滑动窗口最大值 单调双端队列 java 简单题解
java·数据结构·算法·leetcode·双端队列·滑动窗口·队列
样例过了就是过了3 小时前
LeetCode热题100 搜索二维矩阵
数据结构·c++·算法·leetcode·矩阵
x_xbx4 小时前
LeetCode:21. 合并两个有序链表
算法·leetcode·链表
啊哦呃咦唔鱼5 小时前
LeetCode hot100-239 滑动窗口最大值
数据结构·算法·leetcode
Geoking.5 小时前
【新手向】go语言最新下载及安装配置教程
开发语言·后端·golang
ん贤5 小时前
Go map 底层原理
算法·golang·map