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链表反转(复习.复习)
最新推荐文章于 2020-09-17 19:12:40 发布