LeetCode 206. Reverse Linked List

LeetCode 206. Reverse Linked List (反转链表)

题目

链接

https://leetcode-cn.com/problems/reverse-linked-list/

问题描述

反转一个单链表。

示例

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

提示

链表中节点的数目范围是 [0, 5000]
-5000 <= Node.val <= 5000

思路

算是迭代法吧,用pre存放前一个结点,用temp存放下一个结点,然后调换一下,最后输出。

复杂度分析

时间复杂度 O(n)
空间复杂度 O(1)

代码

Java

    public ListNode reverseList(ListNode head) {
        ListNode pre = null;
        ListNode cur = head;
        while (cur != null) {
            ListNode tmp = cur.next;
            cur.next = pre;
            pre = cur;
            cur = tmp;
        }
        return pre;
    }
posted @ 2020-03-18 11:15  cheng102e  阅读(84)  评论(0编辑  收藏  举报