【发布时间】:2017-12-09 20:19:33
【问题描述】:
我创建了一个“pop”方法来从链表中取出最后一个节点。但是,我收到的问题是它没有删除节点,它只是告诉我节点中应该删除的数据。
我应该以我正在使用测试驱动开发作为开头,并且测试被编写为说'assert_equal“blop”,list.pop。 “blop”是最后一个节点的值。很高兴我有我的方法告诉我,但它仍然没有删除节点。
def pop
@count -= 1
return_string = ""
current_node = @head
until current_node.next_node == nil
current_node = current_node.next_node
end
return_string << current_node.data + " "
return_string.strip
current_node.next_node = Node.new(data)
end
我的问题是如何返回被删除内容的值,以及如何从链接列表中删除值。
【问题讨论】:
-
请记住,在 Ruby 中逻辑错误的唯一事物是
nil和false,所以除非您在列表中期望文字false,否则if current_node.next_node是正确的方式来表达。你也可以current_node &&= current_node.next_node。 -
你有什么问题?
标签: ruby linked-list stack nodes