我的代码是:
class Tree
attr_accessor :node, :left, :right
def initialize(*args)
self.node = args[0]
self.left = args[1]
self.right = args[2]
end
def inorder
if self.left
self.left.inorder
else
return
end
puts self.node
if self.right
self.right.inorder
else
return
end
end
end
t2 = Tree.new 2
t1 = Tree.new 1
t = Tree.new 3,t1,t2
t.inorder
它只打印根节点 3。这里出了什么问题?
最佳答案
因为您的代码将在 puts
之前返回
。
def inorder
if self.left
self.left.inorder
end
puts self.node
if self.right
self.right.inorder
end
end
关于ruby - ruby 中的中序遍历仅打印根注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10876264/