LeetCode 剑指 Offer 24. 反转链表

目录结构

1.题目

2.题解


1.题目

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

示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

限制:

  • 0 <= 节点个数 <= 5000

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2.题解

头插法

public class Offer24 {

    @Test
    public void test() {
        ListNode head = new ListNode(4, new ListNode(5, new ListNode(1, new ListNode(9, null))));
        ListNode.printf(reverseList(head));
    }

    public ListNode reverseList(ListNode head) {
        ListNode result = new ListNode(0);
        while (head != null) {
            ListNode tmp = head;
            head = head.next;
            tmp.next = result.next;
            result.next = tmp;

        }
        return result.next;
    }
}
  • 时间复杂度:O(n)
  • 空间复杂度:O(1)
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页