mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-11 21:10:58 +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>
|
<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