LeetCode206(反转链表)


题目:

示例:

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

解题思路

在遍历列表时,将当前节点的next指针改为前一个元素。需要事先存储当前节点的前一个元素和当前节点的next节点。

代码实现
public class ListNode {
    int val;
    ListNode next;

    ListNode(int x) {
        val = x;
    }
}

class Solution {
    public ListNode reverseList(ListNode head) {
        //迭代
        ListNode prev = null;
        ListNode curr = head;
        while (curr != null) {
            ListNode next = curr.next;
            curr.next = prev;
            prev = curr;
            curr = next;
        }
        return prev;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目描述 反转一个单链表。 示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1...
    Zzz_CH阅读 952评论 0 0
  • 原题链接 因为不知道链表的长度,可能直接上来创建三个指针会导致空指针异常,所以一开始只创建一个指向头的指针,然后开...
    鬼鬼812阅读 1,085评论 0 1
  •   DOM 1 级主要定义的是 HTML 和 XML 文档的底层结构。   DOM2 和 DOM3 级则在这个结构...
    霜天晓阅读 5,356评论 1 3
  • 什么是数组? 数组简单来说就是将所有的数据排成一排存放在系统分配的一个内存块上,通过使用特定元素的索引作为数组的下...
    启明_b56f阅读 4,545评论 0 0
  • 代码GitHub地址 链表概述 数组和链表都是线性存储结构的基础实现,栈和队列都是线性存储结构的应用 数组优缺点 ...
    HikariCP阅读 5,362评论 0 0