【简单】反转双向链表-Java
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net
package live.every.day.ProgrammingDesign.CodingInterviewGuide.List;/*** 反转双向链表** 【题目】* 实现反转双向链表的函数。** 【要求】* 如果链表长度为N,时间复杂度要求为O(N),额外空间复杂度要求为O(1)。** 【难度】* 简单** 【解答】* 本题比较简单,做到代码一次成型,运行不出错即可。* 反转双向链表的函数如下,函数返回反转之后链表新的头节点。** @author Created by LiveEveryDay*/public class ReverseDoubleList {public static class DoubleNode {public int data;public DoubleNode pre;public DoubleNode next;public DoubleNode(int data) {this.data = data;}}public static DoubleNode reverseList(DoubleNode head) {DoubleNode pre = null;DoubleNode next = null;while (head != null) {next = head.next;head.pre = next;head.next = pre;pre = head;head = next;}return pre;}public static void main(String[] args) {DoubleNode node1 = new DoubleNode(1);DoubleNode node2 = new DoubleNode(2);DoubleNode node3 = new DoubleNode(3);DoubleNode node4 = new DoubleNode(4);DoubleNode node5 = new DoubleNode(5);node1.pre = null;node1.next = node2;node2.pre = node1;node2.next = node3;node3.pre = node2;node3.next = node4;node4.pre = node3;node4.next = node5;node5.pre = node4;node5.next = null;DoubleNode n = reverseList(node1);while (n != null) {System.out.printf("%d ", n.data);n = n.next;}}}// ------ Output ------
/*
5 4 3 2 1
*/
【简单】反转双向链表-Java相关推荐
- Java模拟一个简单的双向链表
Java模拟一个简单的双向链表 1.链表结构 Node实体类代码: public class Node {public Object item;//存放数据的地方public Node next;// ...
- 双向链表(3) - 反转双向链表
双向链表的反转过程,可以参考下面的例图. (a) 原始双向链表 (b) 反转后的双向链表 下面是一个用于反转双向链表的简单方法.所需要做的事情就是交换每个节点的前向指针和后向指针,然后调整链表的头指针 ...
- 文本文件 java_简单的用java实现读/写文本文件的示例
简单的用java实现读/写文本文件的示例 更新时间:2008年07月26日 13:09:26 作者: 同时也展示了如果从输入流中读出来内容写入输出流中(仅限文本流) 三个例子可以独立存在,所以根据 ...
- 链表问题4——反转双向链表
题目 实现反转双向链表的函数 要求 如果链表长度为N,时间复杂度要求为O(N),额外空间复杂度要求为O(1). 源码 public class Node{public int value;public ...
- 《LeetCode力扣练习》剑指 Offer 24. 反转链表 Java
<LeetCode力扣练习>剑指 Offer 24. 反转链表 Java 一.资源 题目: 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 示例: 输入: 1-& ...
- 《LeetCode力扣练习》第206题 反转链表 Java
<LeetCode力扣练习>第206题 反转链表 Java 一.资源 题目: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表. 示例 1: 输入:head = [1,2, ...
- 历史上最简单的一道Java面试题,但无人能通过
作者:方志宏 来源:zhuanlan.zhihu.com/p/57859872 这可能是历史上最简单的一道java面试题了. 题目很简单,完成代码,判断一个整数是否是奇数: public boolea ...
- java http服务端例子_简单的用 Java Socket 编写的 HTTP 服务器应用
/*** SimpleHttpServer.java*/importjava.io.*;importjava.net.*;importjava.util.StringTokenizer;/*** 一个 ...
- 菜鸟学Java(六)——简单验证码生成(Java版)
转载自 菜鸟学Java(六)--简单验证码生成(Java版) 验证码大家都知道,它的作用也不用我多说了吧.如果不太清楚请参见百度百科中的解释,一般验证码的生成就是随机产生字符(数字.字母或者汉字等) ...
最新文章
- java 使用webmagic 爬虫框架爬取博客园数据
- 【codeforces 742A】Arpa’s hard exam and Mehrdad’s naive cheat
- codeforces Educational Codeforces Round 49 (Rated for Div. 2) C题
- 最快最新最详细的IT电子书
- java学习笔记2022.2.11
- 浙江金融职业学院计算机一级,浙江金融职业学院全景-360度,720度,高清全景地图-expoon网展...
- 第十二届蓝桥杯青少年python组 第1-3题 C++实现
- Python3 从零单排7_模块ossys
- Halcon产品描述
- 使用Nexus搭建Maven仓库
- Drupal 7.17 发布,专业的 CMS 内容管理系统
- java opencv教程_史上最全 java 集成 opencv 教程
- DAS-DVS分布式光纤振动传感-发展现状与未来趋势分析(华为光纤传感新产品Huawei OptiXsense EF3000)
- 财务管理系统-数据库模块
- JS移动DOM节点,将某节点下所有子节点移动(剪切)到另一个节点下。新手很容易踩的坑!
- 关于笔记本连接显示器检测不到的问题(NoVideoInput)
- formality 命令/变量的使用及各种设置
- 014基于深度学习的脑电癫痫自动检测系统-2018(300引用)
- event事件坐标详解(clientx, offsetx, screenX等)
- 【Unity】UI或3D场景自动设置渐变色背景