File tree 1 file changed +9
-6
lines changed
1 file changed +9
-6
lines changed Original file line number Diff line number Diff line change 18
18
*/
19
19
20
20
class SymmetricTree {
21
- func isSymmetric( root: TreeNode ? ) -> Bool {
21
+ func isSymmetric( _ root: TreeNode ? ) -> Bool {
22
22
guard let root = root else {
23
23
return true
24
24
}
25
- return _helper ( root. left, root. right)
25
+
26
+ return isSymmetricHelper ( root. left, root. right)
26
27
}
27
28
28
- func _helper ( p : TreeNode ? , _ q : TreeNode ? ) -> Bool {
29
- if p == nil && q == nil {
29
+ private func isSymmetricHelper ( _ left : TreeNode ? , _ right : TreeNode ? ) -> Bool {
30
+ if left == nil && right == nil {
30
31
return true
31
32
}
32
- if p == nil || q == nil || p!. val != q!. val {
33
+
34
+ if let left = left, let right = right, left. val == right. val {
35
+ return isSymmetricHelper ( left. left, right. right) && isSymmetricHelper ( left. right, right. left)
36
+ } else {
33
37
return false
34
38
}
35
- return _helper ( p!. left, q!. right) && _helper ( p!. right, q!. left)
36
39
}
37
40
}
You can’t perform that action at this time.
0 commit comments