Fix the return type of binary search tree and avl tree

This commit is contained in:
krahets
2023-04-14 05:47:20 +08:00
parent 9c9c8b7574
commit f7ae9c8a02
24 changed files with 247 additions and 451 deletions
+6 -18
View File
@@ -90,9 +90,8 @@ class AVLTree {
/* */
@discardableResult
func insert(val: Int) -> TreeNode? {
func insert(val: Int) {
root = insertHelper(node: root, val: val)
return root
}
/* */
@@ -118,9 +117,8 @@ class AVLTree {
/* */
@discardableResult
func remove(val: Int) -> TreeNode? {
func remove(val: Int) {
root = removeHelper(node: root, val: val)
return root
}
/* */
@@ -147,7 +145,10 @@ class AVLTree {
}
} else {
// = 2
let temp = getInOrderNext(node: node?.right)
let temp = node?.right
while temp?.left != nil {
temp = temp?.left
}
node?.right = removeHelper(node: node?.right, val: temp!.val)
node?.val = temp!.val
}
@@ -159,19 +160,6 @@ class AVLTree {
return node
}
/* root */
private func getInOrderNext(node: TreeNode?) -> TreeNode? {
var node = node
if node == nil {
return node
}
// 访
while node?.left != nil {
node = node?.left
}
return node
}
/* */
func search(val: Int) -> TreeNode? {
var cur = root