小工具      在线工具  汉语词典  css  js  c++  java

反向链表LeetCode206

java,leetcode 额外说明

收录于:199天前

反向链表LeetCode206

反转单链表
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

解题方法分为递归法和迭代法。
其中递归法比较容易理解;

使用ListNode设置的是节点。

思路:借助三个节点,分别是空指针(作用就是作为一个中间值,没有其他意义),另外两个就是连着的指针,从头开始走。
注意:他们三个位置是连着的

假设三个节点分别为:0,1, 2, 3
文字描述:
先做排除空值的情况,0是空值,1,2,3都是有值的。将1指向0,然后将1的值赋给0,这时候1指向0,断开之前的1指向2,原来的一条链现在形成两个单独的链,然后使这三个节点整体向后移动一个单位
在这里插入图片描述

继续刚才的操作,最后全部都会反转过来,不满足循环条件自己停止,这时候0这个空节点在最前面,打印输出即可
在这里插入图片描述

代码:

class Solution {
    public ListNode reverseList(ListNode head) {
        ListNode dummy = new ListNode();
        ListNode prev = null;
        while( head != null){
        ListNode next = head.next;
            head.next = prev;
            prev = head;
            head= next;
       }
       return prev;
    }
}
. . .

相关推荐

额外说明

Java高并发-线程池原理(架构思想)

最近在学线程池,了解线程池的原理,对以后学习多线程有更好的理解。 目录 线程、线程任务的关系 为什么要使用线程池 线程池的实现原理 线程池的类型 优化接口实战 线程、线程任务的关系 开启线程,执行任务的流程: 1.创建线程任务;(三种方法) 1.继承Th

额外说明

哪些特殊字符可以方便地用作分隔符?

    ☆ * ^      ♩ ♪ ♫ ♬    °′〃$£¥‰%℃¤¢   记得转义,在java处理时。   String [] aa1 = cSort.split("\\♪");

额外说明

Java会话技术之 —— Spring Session

前言 在上一篇我们聊到了会话技术的基础原理中session和cookie的使用,基于cookie和session可以实现客户端(浏览器)和服务端的会话存储,从请求的无状态变为一定程度的有状态,在文章最后,通过一个简单的演示,看到这样一种现象,即在分布式环

额外说明

java使用多线程导出excel

前言 在一个业务中,需要将数据库的一张日志表导出到excel中做统计分析归类,由于单表的数据量特别大,发现在最终导出excel的时候,由于数量太大,导出速度特别慢,想了一些办法,不管使用何种API,单线程始终是操作的瓶颈,因此最终考虑使用多线程进行改善

额外说明

Linux安装和使用Xftp6和Xshell6教程

最近在学习使用原生态的Linux系统做服务器,几天没有接触Linux发现有些生疏了, 干脆总结下来。Xftp 和 Xshell 这两款软件Linux的操作会更加方便,通过Xftp向Linux系统中上传文件,Xshell对Linux进行配置以及使用。 Xf

额外说明

《知识点累积》Vue2.x 插件

axios 用于浏览器和node.js的基于Promise的HTTP客户端; 关键链接:npm 地址 Github 地址 安装:npm i axios 1.请求头设置,如 token 参考此处 axios Config Defaults 全局默认设置 a

额外说明

用HttpServletResponseWrapper获取jsp的输出内容

  以下代码测试环境 windows server 2003,myeclipse5.5GA,tomcat6,运行通过 转自 http://hi.baidu.com/bobylou/blog/item/6045562cedb00aed8b13996c.ht

额外说明

下载网址集锦

下载网址集锦 visual studio 2005 简体中文团队开发版 http://newforum.cnool.net/topic_show.jsp?id=1699578&oldpage=1&thesisid=45&flag=topic1 http:

额外说明

Windows系统打开软件出现找不到mapi32.dll文件如何解决?

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或者损坏了,这时你只需下载这个mapi32.dll文件进行安装(前提是找到适合的版本),当我

额外说明

Win11系统提示缺少msvcp140_clr0400.dll文件的解决办法

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或者损坏了,这时你只需下载这个msvcp140_clr0400.dll文件进行安装(前提是找

ads via 小工具