我不明白为什么下面的代码不能工作。当我向LinkedList追加内容时,它仍然会返回true,因为isEmpty()和printList()不会打印任何内容。很明显我搞错了推荐信,但我一辈子都搞不清楚我在哪里搞错了。如果你也能指出我的设计有什么问题那就太好了。
class Node(object):
def __init__(self, data, next=None):
self.data = data
self.next = next
def __str__(self):
return str(self.data)
class LinkedList(object):
def __init__(self):
self.head = None
self.size = 0
def append(self, *data):
n = self.head
#new_node = Node(data)
if self.head is None:
n = self.head
for elem in data:
n = Node(elem)
n = n.next
self.size += 1
else:
n = self.head
while n.next != None:
n = n.next
for elem in data:
n.next = Node(elem)
n = n.next
self.size += 1
def isEmpty(self):
return self.head is None
def printList(self):
n = self.head
while n is not None:
print str(n)
简化了代码,一次只添加一个元素。
输出:
相关问题 更多 >
编程相关推荐