输入一个链表,反转链表后,输出链表的所有元素。
//反转链表,只遍历一次 ,注意到基本链表中 三指针问题
//while(node.next!=null) 退出时,用于定位到最后一个节点
public class reverseChain {
public ListNode ReverseList(ListNode head) {
if(head==null)
return null;
else if(head.next!=null) {
ListNode pre = head;
ListNode cur = head.next;
//首节点将变为尾节点,其的next为null
pre.next=null;
ListNode nex = head;
while(cur.next!=null) {
nex=cur.next;
cur.next =pre;
pre=cur;
cur=nex;
}
cur.next=pre;
return cur;
}
else {
return head;
}
}
}