mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 19:44:45 +08:00
Merge pull request #827 from casnz1601/patch-6
Update 0701.二叉搜索树中的插入操作.md
This commit is contained in:
@ -253,21 +253,38 @@ class Solution {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
-----
|
||||||
## Python
|
## Python
|
||||||
|
|
||||||
**递归法** - 有返回值
|
**递归法** - 有返回值
|
||||||
|
|
||||||
```python
|
```python
|
||||||
|
# Definition for a binary tree node.
|
||||||
|
# class TreeNode:
|
||||||
|
# def __init__(self, val=0, left=None, right=None):
|
||||||
|
# self.val = val
|
||||||
|
# self.left = left
|
||||||
|
# self.right = right
|
||||||
class Solution:
|
class Solution:
|
||||||
def insertIntoBST(self, root: TreeNode, val: int) -> TreeNode:
|
def insertIntoBST(self, root: TreeNode, val: int) -> TreeNode:
|
||||||
if root is None:
|
# 返回更新后的以当前root为根节点的新树,方便用于更新上一层的父子节点关系链
|
||||||
return TreeNode(val) # 如果当前节点为空,也就意味着val找到了合适的位置,此时创建节点直接返回。
|
|
||||||
|
# Base Case
|
||||||
|
if not root: return TreeNode(val)
|
||||||
|
|
||||||
|
# 单层递归逻辑:
|
||||||
|
if val < root.val:
|
||||||
|
# 将val插入至当前root的左子树中合适的位置
|
||||||
|
# 并更新当前root的左子树为包含目标val的新左子树
|
||||||
|
root.left = self.insertIntoBST(root.left, val)
|
||||||
|
|
||||||
if root.val < val:
|
if root.val < val:
|
||||||
root.right = self.insertIntoBST(root.right, val) # 递归创建右子树
|
# 将val插入至当前root的右子树中合适的位置
|
||||||
if root.val > val:
|
# 并更新当前root的右子树为包含目标val的新右子树
|
||||||
root.left = self.insertIntoBST(root.left, val) # 递归创建左子树
|
root.right = self.insertIntoBST(root.right, val)
|
||||||
return root
|
|
||||||
|
# 返回更新后的以当前root为根节点的新树
|
||||||
|
return roo
|
||||||
```
|
```
|
||||||
|
|
||||||
**递归法** - 无返回值
|
**递归法** - 无返回值
|
||||||
@ -328,7 +345,7 @@ class Solution:
|
|||||||
return root
|
return root
|
||||||
|
|
||||||
```
|
```
|
||||||
|
-----
|
||||||
## Go
|
## Go
|
||||||
|
|
||||||
递归法
|
递归法
|
||||||
@ -374,7 +391,7 @@ func insertIntoBST(root *TreeNode, val int) *TreeNode {
|
|||||||
return root
|
return root
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
-----
|
||||||
## JavaScript
|
## JavaScript
|
||||||
|
|
||||||
有返回值的递归写法
|
有返回值的递归写法
|
||||||
|
Reference in New Issue
Block a user