添加0450.删除二叉搜索树中的节点.mdJava解法
This commit is contained in:
parent
b5b7437a55
commit
d52cb2aa49
|
|
@ -278,6 +278,33 @@ class Solution {
|
|||
}
|
||||
}
|
||||
```
|
||||
```java
|
||||
// 解法2
|
||||
class Solution {
|
||||
public TreeNode deleteNode(TreeNode root, int key) {
|
||||
if (root == null) return root;
|
||||
if (root.val == key) {
|
||||
if (root.left == null) {
|
||||
return root.right;
|
||||
}
|
||||
else if (root.right == null) {
|
||||
return root.left;
|
||||
}
|
||||
else{
|
||||
TreeNode cur = root.right;
|
||||
while (cur.left != null) {
|
||||
cur = cur.left;
|
||||
}
|
||||
cur.left = root.left;
|
||||
root = root.right;
|
||||
return root;
|
||||
}
|
||||
}
|
||||
if (root.val > key) root.left = deleteNode(root.left, key);
|
||||
if (root.val < key) root.right = deleteNode(root.right, key);
|
||||
return root;
|
||||
}
|
||||
```
|
||||
|
||||
## Python
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue