未验证 提交 8d111506 编写于 作者: B BruceCat 提交者: GitHub

【450.删除二叉搜索树中的节点】【Python3】

【450.删除二叉搜索树中的节点】【Python3】
# 二叉搜索树操作集锦
# 二叉搜索树操作集锦
<p align='center'>
......@@ -310,13 +310,13 @@ void BST(TreeNode root, int target) {
<img src="../pictures/qrcode.jpg" width=200 >
</p>
======其他语言代码======
======其他语言代码======
### c++
[dekunma](https://www.linkedin.com/in/dekun-ma-036a9b198/)提供第98题C++代码:
```C++
[dekunma](https://www.linkedin.com/in/dekun-ma-036a9b198/)提供第98题C++代码:
```c++
/**
* Definition for a binary tree node.
* struct TreeNode {
......@@ -374,9 +374,9 @@ def isValidBST(self, root):
```
[lixiandea](https://github.com/lixiandea)提供第100题Python3代码:
```python3
```python
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
......@@ -400,3 +400,52 @@ class Solution:
return p.val==q.val and self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right)
```
[Edwenc](https://github.com/Edwenc) 提供 leetcode第450题的python3 代码:
```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:
def deleteNode(self, root: TreeNode, key: int) -> TreeNode:
# 如果没有树 直接返回None
if root == None:
return None
# 如果要删除的结点 就是当前结点
if root.val == key:
# 左子树为空 只有右子树需要被更新 直接返回
if root.left == None:
return root.right
# 右子树为空 只有左子树需要被更新 直接返回
if root.right== None:
return root.left
# 找出此结点左子树的最大值
# 用这个最大值 来代替当前结点
# 再在左子树中递归地删除这个最大值结点
big = self.getMax( root.left )
root.val = big.val
root.left = self.deleteNode( root.left , big.val )
# 当前结点较大 它的左子树中需要删除节点 递归到左子树
elif root.val > key:
root.left = self.deleteNode( root.left , key)
# 当前结点较小 它的右子树中需要删除节点 递归到右子树
else:
root.right= self.deleteNode( root.right, key)
return root
# 辅助函数
# 功能是找出此二叉搜索树中最大元素的结点 并返回此结点
def getMax( self , node ):
# 一直找它的右子树 直到为空
while node.right:
node = node.right
return node
```
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册