首页 > 解决方案 > python单链表不能正常工作

问题描述

add 方法()只打印两个值,我想打印我添加的所有数字。size 效果很好,但我不知道为什么当我想打印所有值时 value 不起作用

enter code here

class Node():
    def __init__(self,value):

        self.next =None
        self.val =value
class single_linked_list():
    def __init__(self):
        self.head =None
        self.size =0


    def add(self,val):
        node =Node(val)
        if self.head is None:
            self.head =node
            self.size +=1
        else:
            self.head.next =node
            self.size +=1

    def __str__(self):
        vals =[]
        node =self.head
        while node is not None:
            vals.append(node.val)

            node =node.next
        return f"[{','.join(str(val)for val in vals)}]"

sl=single_linked_list()
sl.add(3)

sl.add(5)
sl.add(50)
sl.add(9)



print(sl)
print(sl.size)

# it just show these value :[3,9]
#4 as size fine 

标签: pythondata-structures

解决方案


class Node():
    def __init__(self,value):

        self.next =None
        self.val =value
class single_linked_list():
    def __init__(self):
        self.head =None
        self.size =0


    def add(self,val):
        node =Node(val)
        if self.head is None:
            self.head =node
            self.size +=1
        else:
            self.head.next =node
            self.size +=1

推荐阅读