leet-code/insert-into-a-binary-search.../sol.go

43 lines
641 B
Go

package main
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func insertIntoBST(root *TreeNode, val int) *TreeNode {
if root == nil {
return &TreeNode{
Val: val,
}
}
node := &TreeNode{
Val: val,
}
current := root
for {
if val < current.Val {
if current.Left == nil {
current.Left = node
return root
}
current = current.Left
} else {
if current.Right == nil {
current.Right = node
return root
}
current = current.Right
}
}
}