题目描述
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
解题思路
用递归的思路解决这道题目,首先清楚这个函数本身的含义是反转链表之后返回头结点,再处理头结点
AC 代码
class Solution {
public ListNode reverseList(ListNode head) {
//特殊情况
if(head==null){
return null;
}
//base case;
if(head.next==null){
return head;
}
ListNode last=reverseList(head.next);
head.next.next=head;
head.next=null;
return last;
}
}
总结
尝试用不同的解法解决相同的题目,拓宽自己的思路