天天看点

反转链表(链表逆置)

首先定义三个结点指针,cur代表当前指向的结点,pre表示当前结点的前一个结点,temp为一个临时储存结点;

将头节点赋给cur,通过判断cur是否为空来判断链表是否遍历完成,

主要操作就是每遍历到一个结点,要将此结点的next指针指向它前一个结点

利用temp来保存cur的下一个结点,利用pre来保存cur的上一个结点

public class Solution {
    public ListNode ReverseList(ListNode head) {
        ListNode cur=head;
        ListNode pre=null;
        ListNode temp;
        while(cur!=null){
            temp=cur.next;
            cur.next=pre;
            pre=cur;
            cur=temp;
        }
        head=pre;
        return head;
    }
}
           

继续阅读