您的位置:首页 > 编程语言 > Java开发

Java链表反转(复习.复习)

2012-08-27 16:02 190 查看
package unsolve.problems;

/**
* 链表反转
*/
public class LinkReverse {
private Node head = null;
private Node current = null;
private Node next = null;
private Node pre = null;

public class Node {
public int value;
public Node next;

public Node(int value) {
this.value = value;
}
}

public void initLink(int values[]) {
head = new Node(values[0]);
current = head;
for (int i = 1; i < values.length; i++) {
current.next = new Node(values[i]);
current = current.next;
}
current = head;// current重新指向head
}

public void reverseLink() {
while (current != null) {
next = current.next;
current.next = pre;
pre = current;
current = next;
}
current = pre;
}

public void traverseLink() {
while (current != null) {
System.out.print(current.value + " ");
current = current.next;
}
}

public static void main(String[] args) {
int values[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
LinkReverse link = new LinkReverse();
link.initLink(values);
link.reverseLink();
link.traverseLink();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java class null string