题目描述
输入一个链表,反转链表后,输出链表的所有元素。
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
if(head==null){
return null;
}
ListNode Phead = null;
ListNode Pnode = head;
ListNode pre = null;
while(Pnode!=null){
//将后面的节点进行保存
ListNode Pnext = Pnode.next;
if(Pnext==null){
//若果为空,那么就说明该节点是逆向的头节点
Phead = Pnode;
}
//若果不是头节点,则将当前的节点和头节点的地址进行关联
Pnode.next = pre;
//将前指针后移;
pre = Pnode;
//将当前指针后移;
Pnode = Pnext;
}
return Phead;
}
}