递归代码如下
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func reverseList(head *ListNode) *ListNode {
if head == nil{
return head
}
if head.Next == nil{
return head
}
p := head
newL := reverseList(p.Next)
p.Next.Next = p
p.Next = nil
return newL
}