力扣反转链表-Go实现

package LeetcodeQuestions

/*
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]

 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
*/
/*type ListNode struct {
	Val int
	Next *ListNode
}*/
func reverseList(head *ListNode) *ListNode {
	if head == nil {
		return nil
	}
	//var newHead *ListNode
	var newHead *ListNode //一个空的指针,并没有指向任何地方
	//var newHead *ListNode:= new(ListNode) 等价于newHead := new(ListNode)//指针已经指向一个已经实例化的地址
	for head != nil {
		node := head.Next
		head.Next = newHead
		newHead = head
		head = node
	}
	return newHead

}

你可能感兴趣的:(算法笔记,leetcode,链表,golang)