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

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

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

完全按照链表的形式来做:

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


class linkList():
    def __init__(self, node=None):
        self.head = node

    def travel(self):
        if not self.head:
            return None
        cur = self.head
        while cur:
            print(cur.val, end=' ')
            cur = cur.next

    def insert(self, val, k):
        cur = self.head
        while cur.val != k:
            cur = cur.next
        node = Node(val)
        node.next = cur.next
        cur.next = node
            
    def delete(self, val):
        cur = self.head
        pre = None
        while cur.val != val:
            pre = cur
            cur = cur.next
        if not pre:
            self.head = self.head.next
        else:
            pre.next = cur.next


s = input().split()
N = s.pop(0)
node = Node(s.pop(0))
d = s.pop()
link = linkList(node)
while s:
    val = s.pop(0)
    k = s.pop(0)
    link.insert(val, k)

link.delete(d)
link.travel()

全部评论
飘红可以无视,正常来说应该有一些条件判断,比如是否为空,某一值是否存在于链表中等等,但是题目给保证合法了,索性不去判断
点赞 回复 分享
发布于 2022-11-16 20:49 陕西

相关推荐

06-02 15:17
门头沟学院 Java
心爱的idea:怎么会呢 应该是打招呼有问题 问就说实习6个月全国可飞随时到岗
点赞 评论 收藏
分享
Lorn的意义:1.你这根本就不会写简历呀,了解太少了 2.你这些项目经历感觉真的没啥亮点啊,描述的不行,重写书写一下让人看到核心,就继续海投 注意七八月份ofer还是比较多的,越往后机会越少,抓住时机,抓紧检查疏漏,加油查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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