输入一个链表,反转链表后,输出新链表的表头。
代码:
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;
}
}
}