单链表核心代码如下: 1.迭代方法: 1 2 3 4 5 6 7 8 func reverseList(node *ListNode) *ListNode { cur := node var pre *ListNode for cur != nil { cur.Next, pre, cur = pre, cur, cur.Next } return pre } 理解:cur指向当前节点,pre是前节点初始为nil,反转过程: 1 2 3 4 next := cur.next //新建一个临时节点用于保存cur.next,不然会丢失 cur.next = pre pre = cur cur = next 2.递归方式 1 2 3 4 5 6……

阅读全文