输入一个链表,反转链表后,输出新链表的表头。

public class Solution {code

public ListNode ReverseList(ListNode head) {

   ListNode pre=null;
   
   ListNode next=null;
   //next的目的是每次从从左到右去掉一个节点
   while(head!=null){
       //每次向右移动
       next=head.next;
	   //head.nexe=pre 就至关于第k个节点的next指向前k-1节点(k-1个节点已经逆序好)
       head.next=pre;
	   //把逆序好的一部分赋值给pre,就是说pre在当前的数目下,是已经逆序好的
       pre=head;
	   //head等于每次去掉一个节点后的节点
       head=next;
	   
   }
    return pre;
}

}io

相关文章
相关标签/搜索