2022-03-27 18:35:17 +08:00
< p > You are given the < code > root< / code > node of a binary search tree (BST) and a < code > value< / code > to insert into the tree. Return < em > the root node of the BST after the insertion< / em > . It is < strong > guaranteed< / strong > that the new value does not exist in the original BST.< / p >
< p > < strong > Notice< / strong > that there may exist multiple valid ways for the insertion, as long as the tree remains a BST after insertion. You can return < strong > any of them< / strong > .< / p >
< p > < / p >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 1:< / strong > < / p >
2022-03-27 18:35:17 +08:00
< img alt = "" src = "https://assets.leetcode.com/uploads/2020/10/05/insertbst.jpg" style = "width: 752px; height: 221px;" / >
< pre >
< strong > Input:< / strong > root = [4,2,7,1,3], val = 5
< strong > Output:< / strong > [4,2,7,1,3,5]
< strong > Explanation:< / strong > Another accepted tree is:
< img alt = "" src = "https://assets.leetcode.com/uploads/2020/10/05/bst.jpg" style = "width: 352px; height: 301px;" / >
< / pre >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 2:< / strong > < / p >
2022-03-27 18:35:17 +08:00
< pre >
< strong > Input:< / strong > root = [40,20,60,10,30,50,70], val = 25
< strong > Output:< / strong > [40,20,60,10,30,50,70,null,null,25]
< / pre >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 3:< / strong > < / p >
2022-03-27 18:35:17 +08:00
< pre >
< strong > Input:< / strong > root = [4,2,7,1,3,null,null,null,null,null,null], val = 5
< strong > Output:< / strong > [4,2,7,1,3,5]
< / pre >
< p > < / p >
< p > < strong > Constraints:< / strong > < / p >
< ul >
< li > The number of nodes in the tree will be in the range < code > [0, 10< sup > 4< / sup > ]< / code > .< / li >
< li > < code > -10< sup > 8< / sup > < = Node.val < = 10< sup > 8< / sup > < / code > < / li >
< li > All the values < code > Node.val< / code > are < strong > unique< / strong > .< / li >
< li > < code > -10< sup > 8< / sup > < = val < = 10< sup > 8< / sup > < / code > < / li >
< li > It' s < strong > guaranteed< / strong > that < code > val< / code > does not exist in the original BST.< / li >
< / ul >