本文共 1533 字,大约阅读时间需要 5 分钟。
public class Test { /** * @param args */ public static void main(String[] args) { //单边链表的生成与反转,方法二 int []arr={3,5,1,2,4}; ListTest listTest=new ListTest(); Node head=listTest.create(arr); Node sourNode=head; while(sourNode!=null){ System.out.print(" "+sourNode.getValue()); sourNode=sourNode.getNext(); } System.out.println(" "); Node reNode=listTest.revers(head); while(reNode!=null){ System.out.print(" "+reNode.getValue()); reNode=reNode.getNext(); } } } public class ListTest { public Node create(int []arr) { Node head=new Node(arr[0]); Node cur=null; Node tempNode=null; for (int i = 1; i < arr.length; i++) { tempNode=new Node(arr[i]); if(i==1){ head.setNext(tempNode); }else { cur.setNext(tempNode); } cur=tempNode; } return head; } public Node revers(Node head){ if((null==head)||(null==head.getNext())){ return head; } Node pPre=head; Node pNext=null; Node curNode=pPre.getNext(); while(curNode!=null){ pNext=curNode.getNext(); curNode.setNext(pPre); pPre=curNode; curNode=pNext; } head.setNext(null); return pPre; } } package com.List.sym; public class Node { private int value; private Node next; public Node(int value){ this.value=value; } public int getValue() { return value; } public void setValue(int value) { this.value = value; } public Node getNext() { return next; } public void setNext(Node next) { this.next = next; } }
转载地址:http://dfdai.baihongyu.com/