題目描述
給定二叉搜索樹(BST)的根節點和要插入樹中的值,將值插入二叉搜索樹。 返回插入後二叉搜索樹的根節點。 保證原始二叉搜索樹中不存在新值。
注意,可能存在多種有效的插入方式,只要樹在插入後仍保持爲二叉搜索樹即可。 你可以返回任意有效的結果。
!僅要求得到新的二叉搜索樹,而不是平衡樹。
算法思路
因爲保證原始樹中不存在要插入的值。
class Solution:
def insertIntoBST(self, root: TreeNode, val: int) -> TreeNode:
if not root:
root=TreeNode(val)
return root
if val>root.val:
root.right= self.insertIntoBST(root.right,val)
elif val<root.val:
root.left= self.insertIntoBST(root.left,val)
return root
執行用時 :168 ms, 在所有 Python3 提交中擊敗了41.38%的用戶
內存消耗 :16 MB, 在所有 Python3 提交中擊敗了100.00%的用戶