开启刷题模式,夯实一下基本功
LeetCode 147 单链表插入排序,主要知识点,单链表翻转。
单链表翻转关键点只有4步。
1. 暂存Next节点
2. 将当前节点Next 指向Head的Next
3. 将Head的Next指向当前节点
4. 将暂存节点赋值给当前节点
/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ func insertionSortList(head *ListNode) *ListNode { dummy := &ListNode{} curr := head for curr != nil { mov := dummy for mov.Next!=nil && mov.Next.Val<curr.Val { mov=mov.Next } t:=curr.Next curr.Next=mov.Next mov.Next=curr curr=t } return dummy.Next }