java 实现单链表的逆序

来源:互联网 发布:21网夏老师c语言视频 编辑:程序博客网 时间:2024/06/13 01:56
</pre><pre name="code" class="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 


0 0