public class Reverse {
public static void main(String [] args){
Node head = new Node(1);
head.next = new Node(2);
head.next.next = new Node(3);
head.next.next.next = new Node(4);
head.next.next.next.next=new Node(5);
Node result1=reverseList1(head);
Print(result1);
Node result2=reverseList2(head);
Print(result2);
}
private static Node reverseList1(Node head){
Node result=null;
Node cur=head;
while(cur!=null)
{
Node next=cur.next;
cur.next=result;
result=cur;
cur=next;
}
return result;
}
private static Node reverseList2(Node head){
if(head==null)
{
return null;
}
Node p1=null;
Node p2=head;
Node p3=head.next;
while(p2!=null)
{
p2.next=p1;
p1=p2;
p2=p3;
if(p3!=null)
{
p3=p3.next;
}
}
return p1;
}
private static void Print(Node head){
for(Node cur=head;cur!=null;cur=cur.next)
{
System.out.print(cur+"-->");
}
System.out.println("null");
}
}
class Node{
int val;
Node next;
public Node(int val){
this.val=val;
this.next=next;
}
public String toString(){
return String.format("Node(%d)-->",val);
}
}
链表反转
最新推荐文章于 2023-11-30 22:00:00 发布