problems: add insert-into-a-bst

Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
Matej Focko 2022-01-12 20:10:00 +01:00
parent 2ba0b3930a
commit 16763cdd2f
No known key found for this signature in database
GPG key ID: 332171FADF1DB90B

View file

@ -0,0 +1,36 @@
# 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
# @param {Integer} val
# @return {TreeNode}
def insert_into_bst(root, val)
new_node = TreeNode.new(val)
if root == nil then
return new_node
end
node = root
while (val < node.val && node.left != nil) || (val >= node.val && node.right != nil) do
if val < node.val then
node = node.left
else
node = node.right
end
end
# insert the node
if val < node.val then
node.left = new_node
else
node.right = new_node
end
return root
end