バイナリ ツリーの高さを見つけることができる高さメソッドがありますが、バイナリ ツリーの最も深いノード (同じ深さの場合は複数のノード) を返す方法がわかりません。
BinaryNode.new(1,BinaryNode.new(2,leaf,leaf),BinaryNode.new(3,leaf,leaf))
葉は空を表します
このツリーの高さは 2 で、最も深いノードは 2,3 (同じ深さ)
class BinaryNode
include Enumerable
def initialize(element,lchild,rchild)
@element, @lchild, @rchild = element, lchild, rchild
end
def deepestNode
if self.nil?
0
else
height1=@lchild.height+1
height2=@lchild.height+1
end
height=[height1,height2].max
height
end
end
end