File tree Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * Definition for a binary tree node.
3
+ * public class TreeNode {
4
+ * public var val: Int
5
+ * public var left: TreeNode?
6
+ * public var right: TreeNode?
7
+ * public init() { self.val = 0; self.left = nil; self.right = nil; }
8
+ * public init(_ val: Int) { self.val = val; self.left = nil; self.right = nil; }
9
+ * public init(_ val: Int, _ left: TreeNode?, _ right: TreeNode?) {
10
+ * self.val = val
11
+ * self.left = left
12
+ * self.right = right
13
+ * }
14
+ * }
15
+ */
16
+ class Solution {
17
+ func invertTree( _ root: TreeNode ? ) -> TreeNode ? {
18
+ guard var invertedRoot = root else {
19
+ return nil
20
+ }
21
+
22
+ func invert( node: TreeNode ? ) -> TreeNode ? {
23
+ guard var node = node else {
24
+ return nil
25
+ }
26
+
27
+ if node. left == nil
28
+ && node. right == nil {
29
+ return node
30
+ }
31
+
32
+ let left = node. left
33
+ node. left = invert ( node: node. right)
34
+ node. right = invert ( node: left)
35
+ return node
36
+ }
37
+
38
+ return invert ( node: invertedRoot)
39
+ }
40
+ }
41
+
You can’t perform that action at this time.
0 commit comments