[剑指 Offer 24. 反转链表] | 刷题打卡

143 阅读1分钟

题目描述

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。

解题思路

用递归的思路解决这道题目,首先清楚这个函数本身的含义是反转链表之后返回头结点,再处理头结点

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;
    }
}

总结

尝试用不同的解法解决相同的题目,拓宽自己的思路