二叉树怎么用递归添加节点
时间: 2023-09-14 15:10:04 浏览: 41
要向二叉树中添加一个节点,可以通过递归的方式进行操作:
1. 如果当前二叉树为空,则将新节点作为根节点。
2. 如果当前二叉树不为空,则比较新节点与当前节点的大小关系:
a. 如果新节点的值小于当前节点的值,则递归到当前节点的左子树,并将新节点添加到左子树中。
b. 如果新节点的值大于等于当前节点的值,则递归到当前节点的右子树,并将新节点添加到右子树中。
3. 返回添加新节点后的二叉树。
以下是示例代码:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def insertNode(root: TreeNode, val: int) -> TreeNode:
if not root:
return TreeNode(val)
if val < root.val:
root.left = insertNode(root.left, val)
else:
root.right = insertNode(root.right, val)
return root
```
其中,`TreeNode` 是二叉树节点的类,`insertNode` 是递归添加节点的函数。函数参数 `root` 表示当前二叉树的根节点,参数 `val` 表示要添加的节点的值。函数返回添加新节点后的二叉树根节点。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)