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

描述

给定一个单链表的头结点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;

    }
}
相关推荐
不穿格子的程序员15 小时前
从零开始刷算法——字串与区间类经典题:前缀和 + 单调队列双杀
算法·前缀和·哈希表·双向队列·单调队列
坚持就完事了15 小时前
十大排序算法
数据结构·算法·排序算法
wefg115 小时前
【C++】IO流
开发语言·c++
aloha_78915 小时前
联易融测开面试准备
java·python·面试·单元测试
s***469815 小时前
【SpringBoot篇】详解Bean的管理(获取bean,bean的作用域,第三方bean)
java·spring boot·后端
im_AMBER15 小时前
Leetcode 63 定长子串中元音的最大数目
c++·笔记·学习·算法·leetcode
"菠萝"15 小时前
C#知识学习-020(访问关键字)
开发语言·学习·c#
AntBlack15 小时前
Z-Image 发布了 ,赶紧体验了一把(配套 Modal执行脚本)
前端·后端·aigc
努力的小雨15 小时前
AI 编程协作,我的一点邪修方法,希望可以帮助到你
后端
码事漫谈16 小时前
C++网络编程:从Socket混乱到优雅Reactor的蜕变之路
后端