java实现单链表之逆序
下面一段代码准确的介绍了java实现单链表逆序,具体内容就不做详解了,有需要的朋友可以直接拷贝了
package com.ckw.mianshi;
/**
 * java 实现单链表的逆序
 * @author Administrator
 *
 */
public class SingleLinkedReverse {
 class Node{
 int data;
 Node next;
 public Node(int data){
 this.data = data;
 }
 }
 public static void main(String[] args) {
 SingleLinkedReverse slr = new SingleLinkedReverse();
 Node head, tail;
 head = tail = slr.new Node(0);
 for(int i=1; i<10; i++){
 Node p = slr.new Node(i);
 tail.next = p;
 tail = p;
 }
 tail = head;
 while(tail != null){
 System.out.print(tail.data+ );
 tail = tail.next;
 }
 head = reverse(head);
 System.out.println( );
 while(head != null){
 System.out.print(head.data+ );
 head = head.next;
 }
 }
 private static Node reverse(Node head) {
 Node p1,p2 = null;
 p1 = head;
 while(head.next != null){
 p2 = head.next;
 head.next = p2.next;
 p2.next = p1;
 p1 = p2;
 }
 return p2;
 }
}
测试结果:
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0
以上是java实现单链表逆序的代码,希望大家能够喜欢。
相关推荐
- 
                             
                            java实现数据结构单链表示例(java单链表)复制代码 代码如下: /** * 单向链表 * */public class NodeList<E> { private static class Node<E> { // 节点类 E data; // 节点上的数据 Node<E> next; // 指向下一个节点 Node(E e) { this.data = e; this.next = null; } } private Node<E> head; // 链表的头节点 private N 
- 
                             
                            java实现单链表、双向链表本文实例为大家分享了java实现单链表.双向链表的相关代码,供大家参考,具体内容如下 java实现单链表: package code; class Node { Node next; int data; public Node(int data) { this.data=data; } } class LinkList { Node first; //头部 public LinkList() { this.first=null; } public void addNode(Node no) { 
- 
                                                         
                            JAVA实现链表面试题这份笔记整理了整整一个星期,每一行代码都是自己默写完成,并测试运行成功,同时也回顾了一下<剑指offer>这本书中和链表有关的讲解,希望对笔试和面试有所帮助. 本文包含链表的以下内容: 1.单链表的创建和遍历 2.求单链表中节点的个数 3.查找单链表中的倒数第k个结点(剑指offer,题15) 4.查找单链表中的中间结点 5.合并两个有序的单链表,合并之后的链表依然有序[出现频率高](剑指offer,题17) 6.单链表的反转[出现频率最高](剑指offer,题16) 7.从尾到头打印单链表( 
- 
                             
                            java使用数组和链表实现队列示例(1)用数组实现的队列: 复制代码 代码如下: //先自己定义一个接口 public interface NetJavaList { public void add(Student t); //继承该接口的类必须实现的方法 public Student get(int index);//队列的加入,取出,队列的大小 public int size(); } 定义一个学生类 复制代码 代码如下: class Student { private String na 
- 
                             
                            Java编程实现递增排序链表的合并题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 解答: /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if(list1==null) 
- 
                             
                            java实现单链表之逆序下面一段代码准确的介绍了java实现单链表逆序,具体内容就不做详解了,有需要的朋友可以直接拷贝了 package com.ckw.mianshi; /** * java 实现单链表的逆序 * @author Administrator * */ public class SingleLinkedReverse { class Node{ int data; Node next; public Node(int data){ this.data = data; } } public static 
- 
                             
                            Java实现单链表SingleLinkedList增删改查及反转 逆序等节点类 可以根据需要,对节点属性进行修改.注意重写toString()方法,以便后续的输出操作. //节点类 class Node { public int id; public String name; public Node next; public Node(int id, String name) { this.id = id; this.name = name; } @Override public String toString() { return "Node{" + & 
- 
                             
                            java 实现单链表逆转详解及实例代码java 实现单链表逆转详解 实例代码: class Node { Node next; String name; public Node(String name) { this.name = name; } /** * 打印结点 */ public void show() { Node temp = this; do { System.out.print(temp + "->"); temp = temp.next; }while(temp != null); System.o 
- 
                                                         
                            Java实现单链表翻转实例代码Java实现单链表反转,递归和非递归两种形式 /** * 反转单链表 */ /** * 定义链表 * * @author 16026 * */ class Node { int val; Node next; public Node(int val) { this.val = val; } } public class ReverseList { /** * 反转链表 * * @param head * @return */ public static Node reverseList(Node 
- 
                             
                            java递归法求字符串逆序本文实例讲述了java递归法求字符串逆序的方法.分享给大家供大家参考.具体实现方法如下: public static String reverseString(String x) { if(x==null || x.length()<2) return x; return reverseString(x.substring(1,x.length()))+ x.charAt(0); } 希望本文所述对大家的java程序设计有所帮助. 
- 
                             
                            java 数据结构单链表的实现java 数据结构单链表的实现 单链表实现链表的打印及元素删除操作,链表的实现主要是next属性的定义,将一堆节点关联起来的.实现简单的链表如下: public class LinkNode { private int value; private LinkNode next; public LinkNode(int x) { value = x; } public LinkNode getNext(){ return next; } public void setNext(LinkNode n 
- 
                             
                            C/C++ 双链表之逆序的实例详解C/C++ 双链表之逆序的实例详解 一.结点结构 双向链表的数据结构定义如下: typedef struct node { ElemType data; struct node *prior struct node *next; }list; 其中,ElemType可以是任意数据类型如int.float或者char等,在算法中,规定其默认为int类型. 二.带头结点 本文描述的是双向链表逆序,链表逆序需要维护3个指针,分别指向前一个节点.当前节点和下一个节点,具体代码如下: list *reve 
- 
                             
                            用JAVA实现单链表,检测字符串是否是回文串一.需求 使用JAVA实现单链表,使用单链表检测字符串是否是回文串 二.需求分析 回文串最重要的就是对称,那么最重要的问题就是找到那个中心,用快指针每步走两格,当他到达链表末端的时候,慢指针刚好到达中心,慢指针在遍历过程中(快指针到达末端时)把走过的节点进行反向操作,此时从中位点分为前后两部分,此时前半部分的指针开始往回指(取next的时候,取的是前一个节点),而慢指针继续向前,跟前半部分的数据依次进行比对,当慢指针扫完整个链表,就可以判断这是回文串,否则就提前退出,同时在前半部分往回遍历的过程 
- 
                                                         
                            Java实现单链表反转的多种方法总结对于单链表不熟悉的可以看一下基于Java实现单链表的增删改查 一.原地反转 1.新建一个哨兵节点下一结点指向头结点 2.把待反转链表的下一节点插入到哨兵节点的下一节点 反转之前的链表:1–>2–>3–>4>–>5 加入哨兵节点:dummp–>1–>2–>3–>4>–>5 原地反转: 定义:prev=dummp.next; pcur=prev.next; prev.next=pcur.next; pcur.next=dummp.next; d 
随机推荐
- ReactNative页面跳转实例代码
- PHP实现算式验证码和汉字验证码实例
- jquery实现input输入框实时输入触发事件代码
- JavaScript中的isXX系列是否继续使用的分析
- Python设计足球联赛赛程表程序的思路与简单实现示例
- C++之普通成员函数、虚函数以及纯虚函数的区别与用法要点
- JavaScript中关联原型链属性特性
- 评估你的域名值多少钱
- Vbs脚本实现radmin终极后门代码_删除自身
- Oracle开发之报表函数
- Jquery实现由下向上展开效果的例子
- 实现checkbox全选、反选、取消JavaScript小脚本异常
- 讲解Java设计模式编程中的建造者模式与原型模式
- Android之AnimationDrawable简单模拟动态图
- Android编程实现AIDL(跨进程通信)的方法详解
- android获取屏幕的长与宽实现代码(手写)
- C++指向函数的指针用法详解
- 浅析android中的线程封装
- Android自定义View的实现方法实例详解
- SQL Server误区30日谈 第3天 即时文件初始化特性可以在SQL Server中开启和关闭

