mirror of
https://github.com/krahets/hello-algo.git
synced 2026-04-26 03:25:08 +08:00
Review Swift codes (#1150)
* feat(swift): review for chapter_computational_complexity * feat(swift): review for chapter_data_structure * feat(swift): review for chapter_array_and_linkedlist * feat(swift): review for chapter_stack_and_queue * feat(swift): review for chapter_hashing * feat(swift): review for chapter_tree * feat(swift): add codes for heap article * feat(swift): review for chapter_heap * feat(swift): review for chapter_graph * feat(swift): review for chapter_searching * feat(swift): review for chapter_sorting * feat(swift): review for chapter_divide_and_conquer * feat(swift): review for chapter_backtracking * feat(swift): review for chapter_dynamic_programming * feat(swift): review for chapter_greedy * feat(swift): review for utils * feat(swift): update ci tool * feat(swift): trailing closure * feat(swift): array init * feat(swift): map index
This commit is contained in:
@@ -48,7 +48,7 @@ class ArrayBinaryTree {
|
||||
func levelOrder() -> [Int] {
|
||||
var res: [Int] = []
|
||||
// 直接遍历数组
|
||||
for i in stride(from: 0, to: size(), by: 1) {
|
||||
for i in 0 ..< size() {
|
||||
if let val = val(i: i) {
|
||||
res.append(val)
|
||||
}
|
||||
|
||||
@@ -10,10 +10,12 @@ import utils
|
||||
class AVLTree {
|
||||
fileprivate var root: TreeNode? // 根节点
|
||||
|
||||
init() {}
|
||||
|
||||
/* 获取节点高度 */
|
||||
func height(node: TreeNode?) -> Int {
|
||||
// 空节点高度为 -1 ,叶节点高度为 0
|
||||
node == nil ? -1 : node!.height
|
||||
node?.height ?? -1
|
||||
}
|
||||
|
||||
/* 更新节点高度 */
|
||||
@@ -132,7 +134,7 @@ class AVLTree {
|
||||
node?.right = removeHelper(node: node?.right, val: val)
|
||||
} else {
|
||||
if node?.left == nil || node?.right == nil {
|
||||
let child = node?.left != nil ? node?.left : node?.right
|
||||
let child = node?.left ?? node?.right
|
||||
// 子节点数量 = 0 ,直接删除 node 并返回
|
||||
if child == nil {
|
||||
return nil
|
||||
|
||||
@@ -108,7 +108,7 @@ class BinarySearchTree {
|
||||
// 子节点数量 = 0 or 1
|
||||
if cur?.left == nil || cur?.right == nil {
|
||||
// 当子节点数量 = 0 / 1 时, child = null / 该子节点
|
||||
let child = cur?.left != nil ? cur?.left : cur?.right
|
||||
let child = cur?.left ?? cur?.right
|
||||
// 删除节点 cur
|
||||
if cur !== root {
|
||||
if pre?.left === cur {
|
||||
|
||||
Reference in New Issue
Block a user