701.二叉搜索树中的插入操作

https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/

一:递归

前序遍历,利用二叉搜索树的性质,在递归中找插入的位置

class Solution:
    def insertIntoBST(self, root: TreeNode, val: int) -> TreeNode:
        if root == None:
            return TreeNode(val)
        if root.val == val: #该节点已存在,则不插入
            return root
        elif val < root.val:    #若插入值小于当前节点,递归处理左节点
            root.left = self.insertIntoBST(root.left, val)
        elif val > root.val:    #若插入值大于当前节点,递归处理左右节点
            root.right = self.insertIntoBST(root.right, val)
        return root	  #注意return当前root

最后更新于