ListNode reverse(ListNode head){
if(head == null ||head.next == null){
return head;
}
ListNode last = reverse(head.next);
//这里很妙,递归翻转当前结点的下一个结点,
//然后head.next就成了后面链表的尾结点了
//只要我们把后面链表的尾结点的next 指向当前的头结点
//再把头结点指向空
//则新的链表头就变成last;
head.next.next = head;
head.next =null;
return last;
}
翻转链表递归实现
最新推荐文章于 2024-07-07 12:10:24 发布