题解 | #反转链表#

反转链表

https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca

/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode ReverseList(ListNode head) {
        ListNode pre=null;//声明一个pre节点用来表示反转后当前节点的指向,反转后最后一个节点指空,所以pre初始值为null
        ListNode cur=head;//声明一个cur节点用来表示当前节点初始值为头节点
        while(cur!=null){
            ListNode node=cur.next;//反转前保存当前节点的指向的下个节点
            cur.next=pre;//让当前节点指向pre节点,完成反转
            pre=cur;//把当前节点赋给pre以进行下一次循环
            cur=node;//把之前保存的节点赋值给当前节点,从而进行循环
        }
        return pre;
    }
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务