mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-11 13:00:22 +08:00
添加 226.翻转二叉树 Swift版本
This commit is contained in:
@ -609,5 +609,43 @@ struct TreeNode* invertTree(struct TreeNode* root){
|
||||
}
|
||||
```
|
||||
|
||||
### Swift:
|
||||
```swift
|
||||
// 前序遍历-递归
|
||||
func invertTree(_ root: TreeNode?) -> TreeNode? {
|
||||
guard let root = root else {
|
||||
return root
|
||||
}
|
||||
let tmp = root.left
|
||||
root.left = root.right
|
||||
root.right = tmp
|
||||
let _ = invertTree(root.left)
|
||||
let _ = invertTree(root.right)
|
||||
return root
|
||||
}
|
||||
|
||||
// 层序遍历-迭代
|
||||
func invertTree1(_ root: TreeNode?) -> TreeNode? {
|
||||
guard let root = root else {
|
||||
return nil
|
||||
}
|
||||
var queue = [TreeNode]()
|
||||
queue.append(root)
|
||||
while !queue.isEmpty {
|
||||
let node = queue.removeFirst()
|
||||
let tmp = node.left
|
||||
node.left = node.right
|
||||
node.right = tmp
|
||||
if let left = node.left {
|
||||
queue.append(left)
|
||||
}
|
||||
if let right = node.right {
|
||||
queue.append(right)
|
||||
}
|
||||
}
|
||||
return root
|
||||
}
|
||||
```
|
||||
|
||||
-----------------------
|
||||
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>
|
||||
|
Reference in New Issue
Block a user