| 12345678910111213141516171819202122232425262728293031 | /** * Definition for singly-linked list. * type ListNode struct { *     Val int *     Next *ListNode * } */func reverseList(head *ListNode) *ListNode {	return reverseRecurse(head)// return reverseIter(head, nil)}func reverseIter(head, tail *ListNode) *ListNode {	if head == nil {		return tail	}	curr := head	head = head.Next	curr.Next = tail	return reverseIter(head, curr)}func reverseRecurse(head *ListNode) *ListNode {	if head == nil || head.Next == nil {		return head	}	newHead := reverseRecurse(head.Next)	head.Next.Next = head	head.Next = nil	return newHead}
 |