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

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

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

[TOC]

python3标准链表解法

如果第一次接触可以参考大佬视频,很详细,点击图片传送

图片说明

#建立链表节点模型
class Node():
    def __init__(self,item):
        self.item = item
        self.next = None
#创建链表类
class LinkList():
#定义头节点
    def __init__(self):
        self.head=None   
#定义增加函数
    def insert_node(self,n,m):
        curNode = self.head
        node = Node(n)
        while curNode:
            if curNode.item == m:
                node.next=curNode.next
                curNode.next=node
                break
            else:
                curNode = curNode.next
#定义删除函数
    def remove_node(self,data):
        curNode = self.head
        preNode = None
        while curNode:
            if curNode.item == data:
                if not preNode:
                    self.head = curNode.next
                    break
                else:
                    preNode.next = curNode.next
                    break
            else:
                preNode = curNode
                curNode = curNode.next
#定义遍历打印链表函数
    def print_Node(self):
        curNode = self.head
        while curNode:
            print(curNode.item,end=' ')
            curNode = curNode.next
while True:
    try:
        lst = [int(i) for i in input().split()]
        l = LinkList()
        l.head = Node(lst[1])
        rm = lst[-1]
        for i in range(0,len(lst[2:-1]),2):
            n = lst[2:-1][i]
            m = lst[2:-1][i+1]
            l.insert_node(n, m)
        l.remove_node(rm)
        l.print_Node()
    except:
        break
#数据结构编程链表#
全部评论
视频很好,对整体的链表都有了概念
点赞 回复 分享
发布于 2023-08-09 11:48 上海

相关推荐

07-11 10:56
门头沟学院 Java
码客明:大胆的说自己能实习6个月就行
点赞 评论 收藏
分享
大疆在线测评都考什么呀,会考企业概况啥的吗
又被画饼了的做题家很...:不会。刚做完,就是材料分析、态度题、算术题、逻辑题。总共60道。
投递大疆等公司8个岗位
点赞 评论 收藏
分享
机械打工仔:我来告诉你原因,是因为sobb有在线简历,有些HR为了快会直接先看在线简历,初步感觉不合适就不会找你要详细的了
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

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