JAvaチェーンテーブルの反転を実現
1444 ワード
package demo1;
public class Node {
private Node next;
private String value;
public Node(String value){
this.value=value;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public static void main(String[] args) {
Node head=new Node("a");
Node node1=new Node("b");
Node node2=new Node("c");
Node node3=new Node("d");
//
head.setNext(node1);
node1.setNext(node2);
node2.setNext(node3);
System.out.println(" :");
reverse(head);
// head null, : head 。
head.next=null;
while(node3!=null){
System.out.print(node3.getValue());
node3=node3.getNext();
if(node3!=null){
System.out.print("->");
}
}
}
/**
* , nextNode.setNext(head)
* 。
*
* @param head
*/
public static void reverse(Node head){
if(head!=null){
Node nextNode=head.getNext();
if(nextNode!=null){
reverse(nextNode);
nextNode.setNext(head);
}
}
}
}