今天开始学习链表
这更像是一个循环/类问题,而不是一个链表问题:
提供正确输出的代码:
def stringify_list(self):
string_list = ""
current_node = self.get_head_node()
while current_node:
if current_node.get_value() != None:
string_list += str(current_node.get_value()) + "n"
current_node = current_node.get_next_node()
return string_list
我想到的代码:
def stringify_list(self):
string_list = ""
current_node = self.get_head_node()
while current_node.get_value() != None:
string_list += str(current_node.get_value()) + "n"
current_node = current_node.get_next_node()
return string_list
我的答案只是给我一个输出,而答案给我四个输出。我在这里做错了什么?
在while
循环中有一个return
调用,因此while
中的代码只运行一次,并且返回string_list
:
while current_node.get_value() != None:
string_list += str(current_node.get_value()) + "n"
current_node = current_node.get_next_node()
return string_list # this line
你可能想把这条线移到while循环之外,这样循环就会耗尽:
while current_node.get_value() != None:
string_list += str(current_node.get_value()) + "n"
current_node = current_node.get_next_node()
return string_list