反转单链表:
class LinkNode{
private int num;
private LinkNode next;
public LinkNode(){
}
public LinkNode(int num){
this.num = num;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public LinkNode getNext() {
return next;
}
public void setNext(LinkNode next) {
this.next = next;
}
}
public class ReverseLink {
public static LinkNode reverse(LinkNode head){
LinkNode result = new LinkNode();
LinkNode cur = head;
while(cur != null){
LinkNode tmp = cur.getNext();
cur.setNext(result.getNext());
result.setNext(cur);
cur = tmp;
}
return result.getNext();
}
public static void main(String[] args){
LinkNode n1 = new LinkNode(5);
LinkNode n2 = new LinkNode(6);
LinkNode n3 = new LinkNode(9);
LinkNode n4 = new LinkNode(15);
LinkNode n5 = new LinkNode(78);
LinkNode n6 = new LinkNode(39);
n1.setNext(n2);
n2.setNext(n3);
n3.setNext(n4);
n4.setNext(n5);
n5.setNext(n6);
printLinkNode(n1);//<span style="font-family: Arial, Helvetica, sans-serif;">5,6,9,15,78,39,</span>
System.out.println();
LinkNode result = reverse(n1);
printLinkNode(result);//39,78,15,9,6,5,
}
private static void printLinkNode(LinkNode result) {
while(result != null){
System.out.print(result.getNum());
System.out.print(",");
result = result.getNext();
}
}
}