File tree 2 files changed +59
-0
lines changed
2 files changed +59
-0
lines changed Original file line number Diff line number Diff line change @@ -308,6 +308,38 @@ public class Solution {
308
308
}
309
309
```
310
310
311
+ #### Swift
312
+
313
+ ``` swift
314
+ /* public class TreeNode {
315
+ * var val: Int
316
+ * var left: TreeNode?
317
+ * var right: TreeNode?
318
+ * init(_ val: Int) {
319
+ * self.val = val
320
+ * self.left = nil
321
+ * self.right = nil
322
+ * }
323
+ * }
324
+ */
325
+
326
+ class Solution {
327
+ func isSymmetric (_ root : TreeNode? ) -> Bool {
328
+ return dfs (root, root)
329
+ }
330
+
331
+ private func dfs (_ a : TreeNode? , _ b : TreeNode? ) -> Bool {
332
+ if a == nil && b == nil {
333
+ return true
334
+ }
335
+ if a == nil || b == nil || a! .val != b! .val {
336
+ return false
337
+ }
338
+ return dfs (a! .left , b! .right ) && dfs (a! .right , b! .left )
339
+ }
340
+ }
341
+ ```
342
+
311
343
<!-- tabs: end -->
312
344
313
345
<!-- solution: end -->
Original file line number Diff line number Diff line change
1
+ /* public class TreeNode {
2
+ * var val: Int
3
+ * var left: TreeNode?
4
+ * var right: TreeNode?
5
+ * init(_ val: Int) {
6
+ * self.val = val
7
+ * self.left = nil
8
+ * self.right = nil
9
+ * }
10
+ * }
11
+ */
12
+
13
+ class Solution {
14
+ func isSymmetric( _ root: TreeNode ? ) -> Bool {
15
+ return dfs ( root, root)
16
+ }
17
+
18
+ private func dfs( _ a: TreeNode ? , _ b: TreeNode ? ) -> Bool {
19
+ if a == nil && b == nil {
20
+ return true
21
+ }
22
+ if a == nil || b == nil || a!. val != b!. val {
23
+ return false
24
+ }
25
+ return dfs ( a!. left, b!. right) && dfs ( a!. right, b!. left)
26
+ }
27
+ }
You can’t perform that action at this time.
0 commit comments