题解 | #反转链表#

反转链表

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

/*function ListNode(x){
    this.val = x;
    this.next = null;
}*/
function ReverseList(pHead)
{
    // write code here
    let prev=null
    let curr=pHead
    while(curr){
      //运用es6解构赋值,一一对应,不需要考虑赋值顺序,不需要定义额外next
        [curr.next,prev,curr]=[prev,curr,curr.next]
    }
    return prev
}
module.exports = {
    ReverseList : ReverseList
};
全部评论
curr.next先挂了空,然后pre挂的是变动后的curr,curr中的next变成空了,但是为什么curr挂curr.next时不是挂空而是挂最开始没被挂空的curr.next?
点赞 回复 分享
发布于 2024-05-14 17:18 上海
这也太厉害了吧
点赞 回复 分享
发布于 2023-09-06 21:16 贵州
结构赋值对于引用类型是怎么个原理,我分开写成3行赋值语句,怎么都不对,题主能深入讲讲吗
点赞 回复 分享
发布于 2023-02-06 16:42 上海
题主,我有个小问题,把赋值顺序换成[curr,curr.next, prev ] = [ curr.next,prev, curr]后,为什么就不行了,求解
点赞 回复 分享
发布于 2022-10-07 20:27 广东
解构用的妙啊!
点赞 回复 分享
发布于 2022-08-13 14:47
太厉害了
点赞 回复 分享
发布于 2022-07-29 08:48

相关推荐

2025-11-06 23:30
已编辑
华中师范大学 后端工程师
点赞 评论 收藏
分享
评论
41
4
分享

创作者周榜

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