当前位置: 首页 > 后端技术 > Python

力扣-0701.二叉搜索树中的插入操作【Python】

时间:2023-03-26 19:00:17 Python

LeetCode0701.InsertintoaBinarySearchTree二叉搜索树中的插入操作【Medium】【Python】【二叉树】问题给定LeetCode的根节点树(BST)和一个要插入到树中的值,将值插入到BST中。插入后返回BST的根节点。保证原始BST中不存在新值。注意,插入可能存在多种有效方式,只要树在插入后仍然是BST。你可以返回它们中的任何一个。例如,给定树:4/\27/\13并且要插入的值:5你可以返回这个二叉搜索树:4/\27/\/135这棵树也是valid:5/\27/\13\4约束条件:给定树中的节点数将在0到10^4之间。每个节点将有一个从0到-10^8的唯一整数值??,在inclusive.-10^8<=val<=10^8保证原始BST中不存在val。问题是给定一棵二叉搜索树(BST)的根节点和要插入到树中的值,插入到二叉搜索树中的值返回插入的二叉搜索树的根节点。保证原二叉搜索树中不存在新值。请注意,可能有不止一种有效的插入方式,只要树在插入后仍然是二叉搜索树即可。您可以返回任何有效结果。例如,给定二叉搜索树:4/\27/\13和插入值:5您可以返回此二叉搜索树:4/\27/\/135或者此树也是有效的:5/\27/\13\4思路二叉树Python3代码#定义一个二叉树节点。#classTreeNode:#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=rightclass解决方案:definsertIntoBST(self,root:TreeNode,val:int)->TreeNode:#如果不是root则查找空位置:如果root则返回TreeNode(val)。valval:root.left=self.insertIntoBST(root.left,val)返回rootGitHublinkPython