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

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

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

import enum
import sys

class Node(object):

    def __init__(self, val=0):
        self.val = val
        self.next = None



for line in sys.stdin:
    arr = list(map(int, line.strip().split(' ')))
    n = arr[0]
    v = arr[-1]

    # 构造链表
    head = Node(0)
    p = head
    q = Node(arr[1])
    p.next = q
    p = q
    for i in range(2, len(arr)-2, 2):
        q = Node(arr[i])
        p = head.next
        # print(arr[i])
        while p.val != arr[i+1]:
            p = p.next
        t = p.next
        p.next = q
        q.next = t

    
    # 删除结点
    p = head
    q = head.next
    while q.val != v:
        p = p.next
        q = q.next
    p.next = q.next

    # 打印输出
    res = []
    p = head.next
    while p:
        res.append(p.val)
        p = p.next
    print(' '.join(list(map(str, res))))

全部评论

相关推荐

练习生懒羊羊:开飞机把这个公司创飞吧
点赞 评论 收藏
分享
07-01 23:23
郑州大学 Java
否极泰来来来来:牛客迟早有高三的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
05-28 12:15
点赞 评论 收藏
分享
找到实习了 给了150一天 但是说是低代码 值得去吗
码农索隆:是在没实习,可去,待个一两周,不行就润呗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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