题解 | #【模板】链表#

【模板】链表

https://www.nowcoder.com/practice/97dc1ac2311046618fd19960041e3c6f

class node:
    def __init__(self, data=None, next=None):
        self.data = data
        self.next = next
class link:
    def __init__(self):
        self.head = node()
    def insert(self, x, y):
        a = self.head
        while True:
            b = a.next
            if b is None:
                a.next = node(y)
                return None
            elif b.data == x:
                c = node(y)
                a.next = c
                c.next = b
                return None
            a = b
    def delete(self, x):
        a = self.head
        while True:
            b = a.next
            if b is None:
                return None
            elif b.data == x:
                c = b.next
                a.next = c
                return None
            a = b
    def list(self):
        a = self.head
        b = []
        while True:
            a = a.next
            if a is None:
                return b
            b.append(a.data)

n = int(input())
a = link()
for i in range(n):
    s = input().split()
    if s[0] == 'insert':
        x, y = int(s[1]), int(s[2])
        #print(x,y)
        a.insert(x, y)
    else:
        x = int(s[1])
        a.delete(x)
res = a.list()
if len(res) == 0:
    print('NULL')
else:
    print(*res)

全部评论

相关推荐

扉川川:查看图片
投递用友等公司10个岗位
点赞 评论 收藏
分享
08-23 20:17
四川大学 C++
xxxzsfa:技术栈可以参考我这个给写,把知识点写出来起码能让面试官知道你是知道这个点的,不会的知识点可以不写,简历上写了但又答不上来就很尴尬了,可以给技术栈中的知识点和项目中的难点亮点加粗,学历不错,肯定会有大厂面的,刚开始可以先投中小厂练手,拿个offer保底再去面大厂,秋招可以正式和实习一起找,找工作是个需要长期坚持的过程,加油查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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