*Go 递归实现反转链表 解题思路:
- 递归找到根节点
- 根节点指向上一个节点
- 删除上一个节点的Next
- 返回根节点
参考:
func ReverseList( pHead *ListNode ) *ListNode {
// write code here
if pHead==nil{
return nil
}
if pHead.Next == nil{
return pHead
}
root := ReverseList(pHead.Next)//得到根节点
pHead.Next.Next=pHead//开始反转,根节点为pHead.Next;pHead 为上一个节点。将根节点的Next指向上一个节点
pHead.Next=nil//将上一个节点的Next删除。
return root
}