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

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

http://www.nowcoder.com/questionTerminal/f96cd47e812842269058d483a11ced4f

思路:

👍最后的空格

代码:

while True:
    try:
        l = input().split()
        head = l[1]
        rm = l[-1]
        l = l[2:-1]
        res = [head]
        for i in range(0, len(l), 2):

            # i = i*2
            # if i>len(l):
            #     break
            a = l[i]
            b = l[i+1]
            res.insert(res.index(b)+1, a)

        res.remove(rm)
        print(' '.join(res)+" ")
    except:
        break
全部评论
看着链表的题就觉得很奇怪,python没链表也不需要链表,这种题应该是考用c和java的同学
2 回复 分享
发布于 2023-03-09 17:21 陕西
res.insert(res.index(b)+1, a)吃了python的红利,哈哈
1 回复 分享
发布于 2022-04-22 19:47
为啥最后要加空格咧?
1 回复 分享
发布于 2023-05-03 17:18 河北
要是res里面没有b就返回不了b的索引了 比如5 2 3 2 1 4 5 2 4 3 3
1 回复 分享
发布于 2023-05-20 19:59 广东
这是直接按照列表做的 不是链表结构吧
点赞 回复 分享
发布于 2022-03-21 18:08
这个只是碰巧能过所有测试用例。如果用 6 2 1 2 3 2 5 1 4 5 7 2 2 就是错的
点赞 回复 分享
发布于 2022-06-09 21:42
同意6楼,如果head是2,给的l是[3 1 ...],由于1不在res中,一开始就会出错。这个程序能跑成功,大概是用例的构成符合这个程序假设的潜规则:即新数据的第二个元素b在已构建的链表res中总是可索引的
点赞 回复 分享
发布于 2023-12-04 17:19 广东
不可索引要怎么办 没学过
点赞 回复 分享
发布于 01-15 11:26 广东

相关推荐

11-18 09:44
Java
小白也想要offer:简历别放洋屁,搞不还还放错了,当然你投外企除外,以上纯属个人观点
点赞 评论 收藏
分享
48 7 评论
分享
牛客网
牛客企业服务