diff --git "a/\346\225\260\346\215\256\347\273\223\346\236\204\347\263\273\345\210\227/\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\346\223\215\344\275\234\351\233\206\351\224\246.md" "b/\346\225\260\346\215\256\347\273\223\346\236\204\347\263\273\345\210\227/\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\346\223\215\344\275\234\351\233\206\351\224\246.md"
index 99b95ae03167f9068cee0d4a39c6dcbdd9acadbc..ffe8b5cddfc9ae35ce75a5b800854deb594f2c84 100644
--- "a/\346\225\260\346\215\256\347\273\223\346\236\204\347\263\273\345\210\227/\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\346\223\215\344\275\234\351\233\206\351\224\246.md"
+++ "b/\346\225\260\346\215\256\347\273\223\346\236\204\347\263\273\345\210\227/\344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\346\223\215\344\275\234\351\233\206\351\224\246.md"
@@ -1,4 +1,4 @@
-# 二叉搜索树操作集锦
+# 二叉搜索树操作集锦
@@ -310,13 +310,13 @@ void BST(TreeNode root, int target) {
-
-======其他语言代码======
+======其他语言代码======
### 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