我想编写一个exist
函数,如果一个值作为链表中的节点存在,则返回 true,否则返回 false。到目前为止,我有以下代码始终返回 true。任何帮助表示赞赏:
class SinglyLinkedList
attr_accessor :head, :tail, :count
def initialize
@head = nil
@tail = nil
@count = 0
end
def insert_front(value)
node = Node.new(value)
if @head.nil?
@head = node
@tail = node
else
node.next = @head
@head = node
end
@count +=1
end
def print_first()
puts head.data
end
def print_last()
puts tail.data
end
def exist(value)
walker = @head
until walker.nil?
if walker.data == value
return true
end
walker = walker.next
end
false
end
def size()
count
end
end
class Node
attr_accessor :data, :next
def initialize(data)
@next = nil
@data = data
end
end
这是我的测试代码:
list = SinglyLinkedList.new
list.insert_front(1)
list.exist(2)
返回true。