题解 | #反转链表#

反转链表

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

/*
 * function ListNode(x){
 *   this.val = x;
 *   this.next = null;
 * }
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param pHead ListNode类
 * @return ListNode类
 */
function ReverseList(pHead) {
    // write code here
    // 判断链表为空或长度为1的情况
    if (pHead == null || pHead.next == null) {
        return pHead;
    }
    let p1 = null,
        p2 = null;
    while (pHead != null) {
        // p1: 2->3->null
        p1 = pHead.next;
        // pHead: 1->null
        pHead.next = p2;
        // p2: 1->null
        p2 = pHead;
        // pHead: 2->3->null
        pHead = p1;
    }
    return p2;
}
module.exports = {
    ReverseList: ReverseList,
};

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 18:35
简历上把1个月实习写成了3个月,会进行背调吗?
码农索隆:一个月有一个月的实习经历,三个月有三个月的实习经历
点赞 评论 收藏
分享
asdasdasda...:19岁,不容易啊可能升个本会好点,现在学历歧视太严重了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务