题解 | #反转链表#

反转链表

http://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 listNode) {
        //传入的链表
        ListNode cur = listNode;
        //下个节点
        ListNode next = null;
        while(cur != null){
            //获取下个节点
            ListNode curNext = cur.next;
            //第一次循环,将第一个节点指向下个节点的引用置为空
            //后续循环,将当前节点指向下个节点的引用改为指向上次循环获取到的节点(当前节点的上个节点)的引用
            cur.next = next;
            //每次循环获取到的节点(引用指向上个节点的当前节点)
            next = cur;
            //取下个节点进行循环判断
            cur = curNext;
        }
        return next;
    }
}

全部评论

相关推荐

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