1. 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
    2. 示例:
    3. 输入: 1->2->3->4->5->NULL
    4. 输出: 5->4->3->2->1->NULL
    5. 限制:
    6. 0 <= 节点个数 <= 5000
    7. 来源:力扣(LeetCode
    8. 链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof
    9. 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    image.png

    /**
     * Definition for singly-linked list.
     * type ListNode struct {
     *     Val int
     *     Next *ListNode
     * }
     */
    func reverseList(head *ListNode) *ListNode {
        var pre *ListNode
        cur := head
        var next *ListNode
    
        for cur != nil {
            next = cur.Next
    
            cur.Next = pre
    
            pre = cur
            cur = next
        }
        return pre
    }