实现链表反转

package java程序员面试笔试宝典;


import javax.sound.sampled.ReverbType;


public class 题8_1_4实现链表反转 {
public static void main(String[] args) {
题8_1链表基本操作 list=new 题8_1链表基本操作();
list.addNode(3);
list.addNode(2);
list.addNode(1);
list.addNode(8);
list.addNode(7);
list.addNode(13);
list.addNode(0);
list.printList();
System.out.println();
list.head=reverseList(list.head);
list.printList();
}
public static Node reverseList(Node head){
if(head==null||head.next==null){
return head;
}
if(head.next.next==null){
Node p=head.next;
p.next=head;
head.next=null;
head=p;
return head;
}
Node m=head;
Node n=head.next;
Node p=n.next;
m.next=null;
while(p!=null){
n.next=m;
m=n;
n=p;
p=p.next;
}
n.next=m;
head=n;
return head;
}
}

猜你喜欢

转载自blog.csdn.net/m0_38068868/article/details/80286864