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

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

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))))

全部评论

相关推荐

05-07 19:10
已编辑
中国科学技术大学 C++
silly01:现在先去 momenta,8-9月去鹅找日常实习,八股文算法背好了你这随便进。不过建议补充一下后端知识,MySQL、Redis看下八股,再补个6824,加点go后台的技术栈,9月随便进大厂。CPP后端只能来WXG
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务