leetcode剑指 Offer 24(反转链表)–Java语言实现
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
限制:
0 <= 节点个数 <= 5000
注意:本题与主站 206 题相同:https://leetcode-cn.com/problems/reverse-linked-list/
题目链接: https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof/
解:
1、递归
public ListNode reverseList(ListNode head) { if (head == null || head.next == null) return head; ListNode ret = reverseList(head.next); head.next.next = head; head.next = null; return ret; }
2、双指针