Skip to content

Commit 7572d7c

Browse files
committed
添加 Swift 代码实现
1 parent ef44b3f commit 7572d7c

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

animation-simulation/二叉树/二叉树中序遍历(迭代).md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,5 +51,32 @@ class Solution {
5151
}
5252
```
5353

54+
Swift Code:
55+
56+
```swift
57+
class Solution {
58+
func inorderTraversal(_ root: TreeNode?) -> [Int] {
59+
var arr:[Int] = []
60+
var cur = root
61+
var stack:[TreeNode] = []
62+
63+
while !stack.isEmpty || cur != nil {
64+
//找到当前应该遍历的那个节点
65+
while cur != nil {
66+
stack.append(cur!)
67+
cur = cur!.left
68+
}
69+
//此时指针指向空,也就是没有左子节点,则开始执行出栈操作
70+
if let temp = stack.popLast() {
71+
arr.append(temp.val)
72+
//指向右子节点
73+
cur = temp.right
74+
}
75+
}
76+
return arr
77+
}
78+
}
79+
```
80+
5481
###
5582

0 commit comments

Comments
 (0)