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