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

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

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

个人认为是比较简洁的Python代码

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

class LinkedList(object):
    def __init__(self, item):
        self.head = Node(item)
        self.length = 1
    
    def insert(self,a , b):
        node_a = Node(a)
        node_b = Node(b)
        tmp = self.head
        while tmp != None:
            if tmp.item == node_b.item:
                node_a.next = tmp.next
                tmp.next = node_a
                self.length += 1
            tmp = tmp.next
    def delete(self,value):
        tmp = self.head
        while tmp.next != None:
            if tmp.next.item == value:
                tmp.next = tmp.next.next
            tmp = tmp.next
    def print_list(self):
        tmp = self.head
        while tmp is not None:
            print(tmp.item,end=' ')
            tmp = tmp.next
if __name__  == '__main__':
    list_input = list(map(int,input().split()))
    n = list_input[0]
    linkList = LinkedList(list_input[1])
    insert_list = list_input[2:-1]
    delete_node = list_input[-1]
    for i in range(0,len(insert_list),2):
        linkList.insert(insert_list[i], insert_list[i + 1])
    linkList.delete(delete_node)
    linkList.print_list()
全部评论

相关推荐

面试了几家,全程问项目,八股一点都不问,可惜准备了这么久
独角仙梦境:现在感觉问八股像是中场休息一样的,问几个八股放松一下再上强度
点赞 评论 收藏
分享
06-12 16:50
已编辑
小米_软件开发(准入职员工)
晓沐咕咕咕:评论区没被女朋友好好对待过的计小将可真多。觉得可惜可以理解,毕竟一线大厂sp。但是骂楼主糊涂的大可不必,说什么会被社会毒打更是丢人。女朋友体制内生活有保障,读研女朋友还供着,都准备订婚了人家两情相悦,二线本地以后两口子日子美滋滋,哪轮到你一个一线城市房子都买不起的996清高计小将在这说人家傻😅
点赞 评论 收藏
分享
AAA专业长城贴瓷砖刘大爷:这样的简历我会直接丢进垃圾桶,花里胡哨的
点赞 评论 收藏
分享
如题
投递阿里巴巴集团等公司10个岗位 >
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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