题目描述:
输入一个链表,反转链表后,输出新链表的表头。
代码:
public class Solution {
public ListNode ReverseList(ListNode head) {
ListNode reslist=null;
//反转链表的表头
ListNode pnode=head;
//指向当前结点head
ListNode prenode=null;
//用于保存上一结点
if(head==null){
return null;
}
while(pnode!=null){
ListNode pnext=pnode.next;
//用于保存下一结点
if(pnode.next==null){
reslist=pnode;//当下一结点为空时,将当前结点pnode作为表头
}
pnode.next=prenode;//下一结点等于上一结点
prenode=pnode;//上一结点等于当前结点
pnode=pnext;//当前结点为下一结点
}
return reslist;
}
}