给定一个链表,请你将链表反转过来。

举例:原链表:1→2→3→4→5→null

反转链表:5→4→3→2→1→null

代码:

package algorithm_niuke;

public class Main {
public static Node reverseList(Node head) {
if(head == null) {
return head;
} Node pre = null;
Node next = null; while(head!=null) {
next = head.next;
head.next = pre;
pre = head;
head = next;
} return pre;
} private static class Node {
int val;
Node next; public Node(int val) {
this.val = val;
}
} public static void main(String[] args) { }
}

反转链表——java的更多相关文章

  1. 剑指Offer:面试题16——反转链表(java实现)

    问题描述 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后的链表的头结点.链表结点如下: public class ListNode { int val; ListNode next = n ...

  2. 15.反转链表 Java

    题目描述 输入一个链表,反转链表后,输出新链表的表头. 思路 本题的关键就是在于对next域的赋值,同时对下一个节点进行保存,然后对把下一个节点赋给新的节点,这样依次循环完所有的节点.每次使新插入的节 ...

  3. 《剑指offer》面试题16 反转链表 Java版

    (输入链表的头节点,反转链表) 书中方法:对于一个链表,我们只能从头往后遍历,如果要反转,我们需要更改当前节点的next域指向前一个节点,此时链表断开,为了能继续修改下一个节点的next域,我们还要维 ...

  4. PAT-basic-1025 反转链表 java c++

    一.题目 给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转.例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4:如果 K 为 4, ...

  5. 【Java】 剑指offer(24) 反转链表

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头 ...

  6. 剑指Offer-15.反转链表(C++/Java)

    题目: 输入一个链表,反转链表后,输出新链表的表头. 分析: 可以利用栈将链表元素依次压入栈中,再从栈中弹出元素重新建立链表,返回头节点. 也可以在原有的链表上来翻转,先保存当前节点的下一个节点,然后 ...

  7. 反转链表算法Java实现

    之前遇到反转链表的算法,比较晦涩难解,但其实挺简单的. 目标:将一个顺序链表反转. 思路:用三个辅助节点,每次实现一个节点的指向反转,即他的后继变为他的前驱. 三个辅助节点: p  q  r  按顺序 ...

  8. 剑指Offer面试题16(Java版):反转链表

    题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点. 解决与链表相关的问题总是有大量的指针操作.而指针操作的代码总是easy出错的. 非常多的面试官喜欢出链表相关的问题,就是 ...

  9. LeetCode 206——链表反转(JAVA)

    题目: 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶:你可 ...

  10. 剑指Offer编程题(Java实现)——反转链表

    题目描述 输入一个链表,反转链表后,输出新链表的表头. 思路一 使用头插法迭代进行反转 实现 /* public class ListNode { int val; ListNode next = n ...

随机推荐

  1. phpwind论坛,后台老是有缓存 不及时更新,操作无效等问题的解决方法。

  2. Hive数据导入与导出

    数据导入 ● 本地文件导入 -- 本地文件导入(local) LOAD DATA local INPATH '/home/hadoop/sourceA.txt' INTO TABLE testA PA ...

  3. 【学习笔记】Tarjan

    更好的阅读体验 前言 凡事都得靠自己 --bobo 催隔壁 @K8He n 天了让他写 \(Tarjan\) 的学习笔记,但貌似还没有动静,所以决定自己写一个. 正文 本文配套题单:14.图论-tar ...

  4. NC207569 牛牛爱奇数

    题目链接 题目 题目描述 在牛牛面前放着 \(n\) 个数,这些数字既有奇数也有偶数,只不过牛牛对奇数情有独钟,他特别想让这些数都变成奇数. 现在牛牛获得了一种能力,他可以执行一种操作:每次选中一个偶 ...

  5. STM32F103C8T6与W5500的运行示例

    模块说明 W5500的厂商是韩国WIZnet, 特性如下 全硬件TCP/IP协议栈: TCP,UDP,ICMP,IPv4,ARP,IGMP,PPPoE -- 注意只有IPv4 支持SPI模式0,3, ...

  6. 【Unity3D】2D动画

    1 图片处理 ​ 通过 PS 软件将以下 gif 文件中的黑色背景删除,并将其中的 18 个图层分别保存为 png 格式图片. 2 游戏对象 ​ 1)游戏对象层级结构 ​ 2)Transform组件参 ...

  7. 使用Java语言搭建一个简易的局域网直播(live)系统

    演示一下 由于是局域网直播系统,那么最简单的情况应该也有两部分构成:录制直播和播放直播. 录制直播 录制直播使用的是本机的摄像头和麦克风,使用Java自带的JFrame窗口播放,支持音视频的录制.效果 ...

  8. 分层架构设计模式总结-MVC,洋葱架构,整洁架构,六边形架构,DDD等等

    一.单层结构不分层 最开始开发项目时,由于需求较少,用一个单独的工程文件就可以满足开发的需求了,不需要进行划分. 二.MVC 分层和三层 到后面需求越来越多,于是就把文件进行分解,怎么分解?有人提出了 ...

  9. 2021-07-30 JavaScript中常用数据的判断

    为什么要判断一个变量的常用数据? 实际业务场景里,一个变量的数据是否合法或符合预期,会影响到项目中用到的UI组件库特定组件的运行.比如element-ui中的el-select组件,单选时绑定的数据不 ...

  10. Hi3516开发笔记(七):Hi3516虚拟机交叉开发环境搭建之交叉编译Qt

    海思开发专栏 上一篇:<Hi3516开发笔记(六):通过HiTools使用USB/串口将uboot.kernel.rootfs和userdata按照分区表烧写镜像>下一篇:<Hi35 ...