题目:输入一个链表,要求给出它的反转链表
public static Node ReverseList(Node head){
//在这里定义两个临时变量,用于链表的移动和指向
Node pre = null;
Node temp= null;
if(head==null) return null;//首先判断head链表是否为空,如果为空返回null
while(head!=null){//当链表不为空的时候进行循环
temp=head.next;//将head的后一个结点给temp,这是为了保留head链表
head.next=pre;//pre为空,将head指向pre是为了开始链表的反转
pre=head;//这里开始是为了链表的后移,pre移动到head所指向的结点,head指向temp所指向的结点
head=temp;
}
return pre;//当到达链表最后的时候,这时候返回的pre就是链表反转后的头结点,只要输出返回pre就是反转链表
}