题解 | #反转链表#
反转链表
http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
go递归
1→2→3→4→5
last=递归(2,3,4,5)后为:1→ last←2←3←4←5
head.next.next(head.next为2,2的next变为1)=head head.next=nil(1反转后为最后一个,指向空)
停止条件 base case head
next=nil
func ReverseList( pHead *ListNode ) *ListNode {
// write code here
if pHead==nil{
return nil
}
if pHead.Next==nil{
return pHead
}
var last *ListNode
last=ReverseList(pHead.Next)
pHead.Next.Next=pHead
pHead.Next=nil
return last
}
上海得物信息集团有限公司公司福利 1164人发布