
反转一般用三个节点最好处理 前一个节点 ,当前节点,后一个节点
最简洁版本
func reverseList(head *ListNode) *ListNode {var pre *ListNodecurr := headfor curr!= nil{//当为空表示迭代结束//前一个值 ,当前值,后一个值pre,curr,curr.Next = curr,curr.Next,pre}return pre}

func revertNode(head *ListNode)*ListNode{var pre *ListNodecurr :=headfor curr!= nil{next := curr.Nextcurr.Next = prepre = currcurr = next}return pre}
递归
func revertNode(head *ListNode)*ListNode{if head==nil||head.Next==nil {return head}next := head.Nextn := revertNode(next)next.Next = headhead.Next = nilreturn n}
