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
}
相关推荐
女王大人万岁5 分钟前
Go标准库 sync 详解
服务器·开发语言·后端·golang
小高Baby@13 分钟前
session、cookie、Jwt-token
开发语言·后端·golang
TracyCoder12335 分钟前
LeetCode Hot100(24/100)——21. 合并两个有序链表
算法·leetcode·链表
We་ct1 小时前
LeetCode 1. 两数之和:两种高效解法(双指针 + Map)
前端·算法·leetcode·typescript·哈希算法
YuTaoShao1 小时前
【LeetCode 每日一题】3640. 三段式数组 II——(解法二)DP
算法·leetcode·职场和发展
Grassto2 小时前
12 go.sum 是如何保证依赖安全的?校验机制源码解析
安全·golang·go·哈希算法·go module
TracyCoder1232 小时前
LeetCode Hot100(25/100)——2. 两数相加(链表)
算法·leetcode·链表
阿蔹2 小时前
力扣面试题二Python
python·算法·leetcode·职场和发展
元亓亓亓2 小时前
LeetCode热题100--169. 多数元素--简单
算法·leetcode·职场和发展
小二·2 小时前
Go 语言系统编程与云原生开发实战(第12篇)云原生部署实战:Helm Chart × GitOps × 多环境管理(生产级落地)
开发语言·云原生·golang