题解 | #从单向链表中删除指定值的节点#

从单向链表中删除指定值的节点

https://www.nowcoder.com/practice/f96cd47e812842269058d483a11ced4f

const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});


// 定义获取的值,节点数、头部值、要删除的值
rl.on('line', function (line) {
    const arr  = line.split(' ').map(Number)
    let nodeNum = arr[0]
    let headValue = arr[1]
    let nodeArr = arr.slice(2, arr.length-1)
    let deleteValue = arr[arr.length-1]

    // 定义结果数组
    const nodeList = [headValue]

    // 循环处理插入,形成链表, i用于遍历,j用于在nodeArr里面获取数据
    for(let i = 0, j = 0; i < nodeNum-1; i++, j += 2){
        // 找到要在哪里插入值
        const index = nodeList.indexOf(nodeArr[j+1])
       
        nodeList.splice(index+1, 0, nodeArr[j])
       
    }

    // 删除指定值
    const deleteIndex = nodeList.indexOf(deleteValue)
    nodeList.splice(deleteIndex, 1)
    console.log(nodeList.join(' '))

});

全部评论

相关推荐

ros275229:社团删了吧,cf因该1200才勉强入门吧,也删了,你可以写算法刷了多少道,都比这个好
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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