力扣206

题目

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

示例 1:

复制代码
输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]

示例 2:

复制代码
输入:head = [1,2]
输出:[2,1]

示例 3:

复制代码
输入:head = []
输出:[]

思路

采用迭代的方法,建立一个新的链表,用来保存已经倒序的链表,类似于栈,不断更新当前的节点

解决方法

curr表示当前的节点

prev表示以及倒序完的首节点

next,用来保存当前节点的下一个节点,防止节点丢失

开始循环判断是否为空

next=curr.next用来保存下一个节点

curr.next=prev将当前节点接到prev即以及倒序完的节点,作为首位

prev=curr 更新首节点

curr=next 更新当前节点

代码

java 复制代码
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode reverseList(ListNode head) {
        ListNode curr=head;
        ListNode prev=null;
        while(curr!=null){
            ListNode next=curr.next;
            curr.next=prev;
            prev=curr;
            curr=next;
        }
        return prev;
    }
}
相关推荐
怎么没有名字注册了啊20 小时前
求一个矩阵中的鞍点
数据结构·算法
Greedy Alg20 小时前
LeetCode 74. 搜索二维矩阵
算法
小猪咪piggy20 小时前
【算法】day7 滑动窗口+二分查找
算法
仟千意20 小时前
数据结构:二叉树
数据结构·算法
一水鉴天20 小时前
整体设计 逻辑系统程序 之34七层网络的中台架构设计及链路对应讨论(含 CFR 规则与理 / 事代理界定)
人工智能·算法·公共逻辑
DuHz20 小时前
C程序中的数组与指针共生关系
linux·c语言·开发语言·嵌入式硬件·算法
而后笑面对20 小时前
力扣2025.10.19每日一题
算法·leetcode·职场和发展
·白小白21 小时前
力扣(LeetCode) ——11.盛水最多的容器(C++)
c++·算法·leetcode
007php00721 小时前
百度面试题解析:Zookeeper、ArrayList、生产者消费者模型及多线程(二)
java·分布式·zookeeper·云原生·职场和发展·eureka·java-zookeeper
沐浴露z1 天前
【JVM】详解 垃圾回收
java·jvm·算法