题目描述
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
思路
1.使用递归的思想求解。
2.具体执行过程,请见下图。
Java代码实现
public ListNode reverseList(ListNode head) {
if(head == null || head.next == null)
return head;
ListNode res = reverseList(head.next);
head.next.next = head;
head.next = null;
return res;
}
Golang代码实现
func reverseList(head *ListNode) *ListNode {
if head == nil || head.Next == nil{
return head
}
p := reverseList(head.Next)
head.Next.Next = head
head.Next = nil
return p
}
有疑问加站长微信联系(非本文作者)