java 反转jia链表_Java实现单链表反转
本文主要介绍单链表反转的两种方法,记录如下:
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实现单链表反转相关推荐
- 链表14:单链表的排序
前面我们连续多节分析了链表反转的问题,你有没有注意到最大的问题都是指针要进行调整时的指向问题?具体又体现在两个方面,一个是反转相关的问题,一个是合并相关的问题,有些算法还是两个的结合.LeetCode ...
- php要求掌握链表结构吗,PHP 链表结构之单链表(一)
php链表结构,单链表(一) 单链表结构,我们这边定义一个节点类,属性有当前值(data)和指向下一个节点的(next) class ListNode { public $data = NULL; p ...
- 【数据结构链表】之五单链表
一:链表基础 1.链表基础----------------摘录自百度百科 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中 ...
- 数据结构实验之链表五:单链表的拆分-sdut
数据结构实验之链表五:单链表的拆分 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 输入N个 ...
- SDUT_2122 数据结构实验之链表七:单链表中重复元素的删除
提交代码 数据结构实验之链表七:单链表中重复元素的删除 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Proble ...
- c语言单链表设计报告,单链表实验报告
<数据结构>实验报告二 分校: 学号: 日期: 班级: 姓名: 程序名: L2311.CPP 一.上机实验的问题和要求: 单链表的查找.插入与删除.设计算法,实现线性结构上的单链表的产生以 ...
- 第二章——单链表和循环单链表
线性表--链表 顺序表需要事先占用一整块实现分配大小的存储空间,但是对于某些问题:很多空间只使用一次(甚至根本用不到),使用顺序表存储空间的利用率往往很低.于是需要一种能够动态管理存储空间的存储结构- ...
- python单链表排序_单链表排序之选择排序
单链表排序是单链表的常见编程任务之一,也是面试中经常出现的题目.单链表排序的关键是交换算法,需要额外考虑.选择排序是比较直观的排序算法之一,这里就使用选择排序实现单链表的排序. C实现代码如下: Li ...
- java 单链表反转_Java实现单链表翻转详解
单链表翻转比如有如下链表: 需要按照C B A 输出,我们可以有好几种方法: package org.andy.test; import java.util.ArrayList; import jav ...
最新文章
- rust狗阳玩的什么游戏_微博搜索
- Notepad++插件总结
- Apache Kafka-消费端_顺序消费的实现
- 道路运输车辆卫星定位系统JT/T808服务实现和压测
- CSS中加号、星号及其他符号的作用
- HTML语言法则主要是什么,prolog语言的三种基本语句是什么?
- myeclipse中对jar包中的类热部署调试方法介绍
- 使用itext,html转pdf使用报错:java.lang.NoSuchMethodError: com.lowagie.text.pdf.BaseFont.getCharBBox(C)
- 解读《美国国家BIM标准》– BIM能力成熟度模型(十)
- 独家专访VB100:趋势科技退出缘于新病毒检测失败
- uniapp 简单有效判断手指滑动方向
- Linux常用命令个人记录
- 在学习SSM框架的途中遇到的一些常见问题和解决办法
- 如何基于HTTP设计一个加密解密系统
- 燕山大学——软件用户界面设计(五)UI架构
- python cannot import name ‘sysconfig‘ from ‘distutils‘
- [A001]兄弟连3天学会php
- 陈春花发布声明,这场流量狂欢该到了收尾的时候
- 解决GitLab 上传头像不显示的问题
- 十个著名的思想实验-黑客帝国思想原来是(Brain in a Vat)
热门文章
- Cuda:invalid device pointer
- Django:cmd虚拟环境及第一个project、Pycharm虚拟环境及第一个project、Not Found favicon.ico、Windows命令行创建虚拟环境、Django版本选择
- php项目电影院售票管理系统,电影院售票管理系统
- close wait 过多原因_time_wait 详解和解决方案
- WebSocket使用,包括服务端和客户端(JAVA实现)
- jpa 原生sql 查询返回一个实体_spring data系列之jpa
- android adb工具linux,Ubuntu Android ADB 使用
- 【Unity开源项目精选】xLua:Unity热更新首选
- Vue 3 最新进展
- Blazor 状态管理