后端开发刷题 | 反转链表【链表篇】

描述

给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。

数据范围: 0≤n≤1000

要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n) 。

如当输入链表{1,2,3}时,

经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。

以上转换过程如下图所示:

示例1

输入:

复制代码
{1,2,3}

返回值:

复制代码
{3,2,1}

示例2

输入:

复制代码
{}

返回值:

复制代码
{}

说明:

复制代码
空链表则输出空        

思路:

代码:

java 复制代码
import java.util.*;
 

public class Solution {
    /**
     *
     * 
     * @param head ListNode类 
     * @return ListNode类
     */
    public ListNode ReverseList (ListNode head) {
        if(head==null){
            return null;
        }
        ListNode pre=null;
        ListNode next=null;
        while(head!=null){
            next=head.next;
            head.next=pre;
            pre=head;
            head=next;
        }

        return pre;

    }
}
相关推荐
Felven13 小时前
A. Eating Game
算法
竹叶青_七弦13 小时前
从复制粘贴到Harness:Java后端AI编程的工程化之路
java
专注仿真13 小时前
RabbitMQ消息队列实战项目
数据结构·rabbitmq
阿拉斯攀登13 小时前
MQ消息积压问题排查:消费卡顿、堆积、消费速度优化
后端
wuminyu13 小时前
Linux内核线程调度与虚拟线程调度机制系统级深度剖析
java·linux·c语言·jvm·c++
阿拉斯攀登13 小时前
无人售货机库存异步更新方案:解决高并发下单库存卡顿问题
后端
阿拉斯攀登13 小时前
无人售货机MQ消息丢失、重复消费、超时异常全套兜底方案
后端
做系统的大强13 小时前
我用中文从零写了一个操作系统(下篇):从45个BUG到165个——假持久化、USB地狱与OS自举
后端
程序员老赵13 小时前
Docker 部署 Rocky Linux:轻松搭建 RHEL 兼容企业级基础镜像平台
linux·后端·docker
用户61526121321013 小时前
Java主流框架与源码:Spring Framework
后端