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
}
相关推荐
紧跟先前的步伐24 分钟前
Go AI Agent 实战 03|Token、上下文窗口与模型调用成本
java·人工智能·golang
lvwangshu26 分钟前
方阵游戏 题解
题解·技巧·前缀优化·性质题·思维好题·推导题
文丑颜不良啊39 分钟前
LeetCode51~75题目解析
leetcode
学电子她就能回来吗1 小时前
LeetCode Hot 100|普通数组专题学习笔记(零基础版)
笔记·算法·leetcode
紧跟先前的步伐3 小时前
Go AI Agent 实战 02|大语言模型(LLM)到底是怎么工作的
人工智能·语言模型·golang
文丑颜不良啊6 小时前
LeetCode1~50题目解析
leetcode
Pniubi6 小时前
力扣146.LRU缓存机制
算法·leetcode·缓存
golang学习记9 小时前
Python vs Go:2026年到底该怎么选
java·vscode·python·golang·pycharm·goland
茉莉玫瑰花茶10 小时前
GO [ 内存与变量逃逸分析 ]
开发语言·后端·golang