二分木の高さを求める問題にて理解できないことがあるので教えていただきたいです。
Definition for a binary tree node. class TreeNode attr_accessor :val, :left, :right def initialize(val = 0, left = nil, right = nil) @val = val @left = left @right = right end end @param {TreeNode} root @return {Integer} def max_depth(root) return 0 if root==nil [1+max_depth(root.left),1+max_depth(root.right)].max end
上記のようなコードが回答例として見つけました。しかしながらclass TreeNode 内で定義したleft、rightはmax_depthでは子要素の左の値と右の値を表すことになっていますが、なぜ二分木の子供の左と右を表すことができるのでしょうか?
私としてはinitialize内でただleft、rightにnilを入れているだけで子供の右左は表せていないと思います。プログラミング初学者なのでわかりやすく教えていただけるとありがたいです。
回答1件
あなたの回答
tips
プレビュー