本文主要介绍单链表反转的两种方法,记录如下:

1.

package com.leetcode;

public class ListReverse {

public static void main(String[] args) {

Node node1 = new Node(1);

Node node2 = new Node(2);

Node node3 = new Node(3);

Node node4 = new Node(4);

node1.next = node2;

node2.next = node3;

node3.next = node4;

Node head = reverse(node1);

while(head != null){

System.out.println(head.val);

head = head.next;

}

}

public static Node reverse(Node head){

Node cur = head, post = head.next;

head.next = null;

while(post != null){

Node tmp = post;

post = post.next;

tmp.next = cur;

cur = tmp;

}

return cur;

}

static class Node{

int val;

Node next;

Node(int val){

this.val = val;

this.next = null;

}

}

}

运行结果为:

4

3

2

1

2.

package com.leetcode;

public class ListReverse {

public static void main(String[] args) {

Node node1 = new Node(1);

Node node2 = new Node(2);

Node node3 = new Node(3);

Node node4 = new Node(4);

node1.next = node2;

node2.next = node3;

node3.next = node4;

Node head = reverse(node1);

while(head != null){

System.out.println(head.val);

head = head.next;

}

}

public static Node reverse(Node head){

Node dummy = new Node(-1);

dummy.next = head;

Node pre = dummy, cur = head, post = head.next;

while(post != null){

cur.next = post.next;

post.next = pre.next;

pre.next = post;

post = cur.next;

}

return dummy.next;

}

static class Node{

int val;

Node next;

Node(int val){

this.val = val;

this.next = null;

}

}

}

运行结果为:

4

3

2

1

原文:http://blog.csdn.net/hjiam2/article/details/38978711

java 反转jia链表_Java实现单链表反转相关推荐

  1. 链表14:单链表的排序

    前面我们连续多节分析了链表反转的问题,你有没有注意到最大的问题都是指针要进行调整时的指向问题?具体又体现在两个方面,一个是反转相关的问题,一个是合并相关的问题,有些算法还是两个的结合.LeetCode ...

  2. php要求掌握链表结构吗,PHP 链表结构之单链表(一)

    php链表结构,单链表(一) 单链表结构,我们这边定义一个节点类,属性有当前值(data)和指向下一个节点的(next) class ListNode { public $data = NULL; p ...

  3. 【数据结构链表】之五单链表

    一:链表基础 1.链表基础----------------摘录自百度百科 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中 ...

  4. 数据结构实验之链表五:单链表的拆分-sdut

    数据结构实验之链表五:单链表的拆分 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 输入N个 ...

  5. SDUT_2122 数据结构实验之链表七:单链表中重复元素的删除

    提交代码 数据结构实验之链表七:单链表中重复元素的删除 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Proble ...

  6. c语言单链表设计报告,单链表实验报告

    <数据结构>实验报告二 分校: 学号: 日期: 班级: 姓名: 程序名: L2311.CPP 一.上机实验的问题和要求: 单链表的查找.插入与删除.设计算法,实现线性结构上的单链表的产生以 ...

  7. 第二章——单链表和循环单链表

    线性表--链表 顺序表需要事先占用一整块实现分配大小的存储空间,但是对于某些问题:很多空间只使用一次(甚至根本用不到),使用顺序表存储空间的利用率往往很低.于是需要一种能够动态管理存储空间的存储结构- ...

  8. python单链表排序_单链表排序之选择排序

    单链表排序是单链表的常见编程任务之一,也是面试中经常出现的题目.单链表排序的关键是交换算法,需要额外考虑.选择排序是比较直观的排序算法之一,这里就使用选择排序实现单链表的排序. C实现代码如下: Li ...

  9. java 单链表反转_Java实现单链表翻转详解

    单链表翻转比如有如下链表: 需要按照C B A 输出,我们可以有好几种方法: package org.andy.test; import java.util.ArrayList; import jav ...

最新文章

  1. rust狗阳玩的什么游戏_微博搜索
  2. Notepad++插件总结
  3. Apache Kafka-消费端_顺序消费的实现
  4. 道路运输车辆卫星定位系统JT/T808服务实现和压测
  5. CSS中加号、星号及其他符号的作用
  6. HTML语言法则主要是什么,prolog语言的三种基本语句是什么?
  7. myeclipse中对jar包中的类热部署调试方法介绍
  8. 使用itext,html转pdf使用报错:java.lang.NoSuchMethodError: com.lowagie.text.pdf.BaseFont.getCharBBox(C)
  9. 解读《美国国家BIM标准》– BIM能力成熟度模型(十)
  10. 独家专访VB100:趋势科技退出缘于新病毒检测失败
  11. uniapp 简单有效判断手指滑动方向
  12. Linux常用命令个人记录
  13. 在学习SSM框架的途中遇到的一些常见问题和解决办法
  14. 如何基于HTTP设计一个加密解密系统
  15. 燕山大学——软件用户界面设计(五)UI架构
  16. python cannot import name ‘sysconfig‘ from ‘distutils‘
  17. [A001]兄弟连3天学会php
  18. 陈春花发布声明,这场流量狂欢该到了收尾的时候
  19. 解决GitLab 上传头像不显示的问题
  20. 十个著名的思想实验-黑客帝国思想原来是(Brain in a Vat)

热门文章

  1. Cuda:invalid device pointer
  2. Django:cmd虚拟环境及第一个project、Pycharm虚拟环境及第一个project、Not Found favicon.ico、Windows命令行创建虚拟环境、Django版本选择
  3. php项目电影院售票管理系统,电影院售票管理系统
  4. close wait 过多原因_time_wait 详解和解决方案
  5. WebSocket使用,包括服务端和客户端(JAVA实现)
  6. jpa 原生sql 查询返回一个实体_spring data系列之jpa
  7. android adb工具linux,Ubuntu Android ADB 使用
  8. 【Unity开源项目精选】xLua:Unity热更新首选
  9. Vue 3 最新进展
  10. Blazor 状态管理