输入一个链表,反转链表后,输出新链表的表头。
代码:
package offer;
 class Node4
 {
     int val;
     Node4 next = null;
     Node4(int val)
     {
         this.val = val;
     }
 }
 public class ti24 {
     public static Node4 ReverseList(Node4 head)
     {
         if(head==null||head.next==null)
         {
             return head;
         }
         Node4 pre = null,node = head,reverse = null;
         while(node!=null)
         {
             Node4 Nnext = node.next;
             if(node.next==null)
             {
                 reverse = node;
             }
             node.next = pre;
             pre = node;
             node = Nnext;
         }
         return reverse;
     }
     public static void main(String[] args)
     {
         Node4 node1 = new Node4(1);
         Node4 node2 = new Node4(2);
         Node4 node3 = new Node4(3);
         Node4 node4 = new Node4(4);
         Node4 node5 = new Node4(5);
         node1.next = node2;
         node2.next = node3;
         node3.next = node4;
         node4.next = node5;
         Node4 head = ReverseList(node1);
         while(head!=null)
         {
             System.out.println(head.val);
             head = head.next;
         }
     }
 }