[英]Check whether a linked list is empty or not
這是我的代碼。 我手動創建了一個鏈表來檢查我的方法是否有效。 但是我得到的 output 什么都不是。 沒有output
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
node1=Node(2)
node2=Node(4)
node3=Node(5)
node1.next=node2
node2.next=node3
a=node1
class MyList():
def __init__(self):
self.head=Node()
def isEmpty(self,a):
return self.head.next is None
hello=MyList()
print(hello.isEmpty(a))
如果要將數據添加到 LinkedList,則需要手動設置列表的頭部。 這段代碼可能是你想要的:
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
node1=Node(2)
node2=Node(4)
node3=Node(5)
node1.next=node2
node2.next=node3
class MyList():
def __init__(self):
self.head=Node()
def isEmpty(self):
return self.head.data is None
hello=MyList()
print(hello.isEmpty())
new_hello = MyList()
new_hello.head=node1
print(new_hello.isEmpty())
Output
True
False
您永遠不會以當前的方式將頭節點設置為指向另一個節點(您的頭和“a”實際上不是同一個節點)。 傳入另一個變量作為節點 object 來更改它。
a = node1
class MyList():
def __init__(self, head):
self.head = head
def isEmpty(self):
return self.head is None # a linked list with a head is technically not empty
new_hello = MyList(a)
print (new_hello.isEmpty())
我個人會添加一個add_node(self, value)
方法並跟蹤結束節點,而不是按照你的方式做
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.