1:迭代法
public class Link1 {
private int data;
private Link1 next;
public Link1(int data){
this.data = data;
this.next = null;
}
public int getData(){
return data;
}
public void setData(int data){
this.data = data;
}
public Link1 getNext(){
return next;
}
public void setNext(Link1 next){
this.next = next;
}
public static Link1 reverse(Link1 head){
if(head == null){
return head;
}
Link1 prevNode = head;//前一个指针
Link1 curNode = head.getNext();//后一个指针
Link1 next;
while(curNode != null){
next = curNode.getNext();
curNode.setNext(prevNode);
prevNode = curNode;//指针后移
curNode = next;//指针后移
}
head.setNext(null);
head = prevNode;
return head;
}
public static void main(String[] args){
Link1 node1 = new Link1(1);
Link1 node2 = new Link1(2);
Link1 node3 = new Link1(3);
Link1 node4 = new Link1(4);
Link1 node5 = new Li