簡體   English   中英

AttributeError: 'NoneType' object has no attribute 'next',第 40 行出現此錯誤

[英]AttributeError: 'NoneType' object has no attribute 'next' , This error is occuring on line 40

class node:
    def __init__(self, data):
        self.data = data
        self.next = None


class Stack:

# Constructor to initialize the root of linked list
    def __init__(self):
        self.root = None
        self.size=0

    def isEmpty(self):
        self.size=0

    # The method push to push element into
    # the stack
    def push(self, data):

        newNode = node(data)
        newNode.next = self.root
        self.root = newNode
        return

    def pop(self):

        # base case
        if (self.isEmpty()):
            return -1
        # delete a node from list
        temp = self.root
        self.root = self.root.next
        popped = temp.data
        return popped

self.isEmpty()沒有做您可能希望它做的事情。 它只是將self.size設置為 0,而不是實際檢查列表是否為空。

這意味着,當列表沒有元素時( self.root為 None),您將嘗試將self.root.next分配給self.root ,但沒有self.root.next這樣的東西。

您可能想要修復isEmpty()以檢查self.root是否為 None。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM