
image.png
/**
* Definition for a binary tree node.
* public class TreeNode {
* public var val: Int
* public var left: TreeNode?
* public var right: TreeNode?
* public init(_ val: Int) {
* self.val = val
* self.left = nil
* self.right = nil
* }
* }
*/
class Solution {
func isSymmetric(_ root: TreeNode?) -> Bool {
if root?.left == nil ,root?.right == nil{
return true
}else if root?.left?.val != root?.right?.val {
return false
}
return self.isSame(left: root?.left, right: root?.right)
}
func isSame(left: TreeNode?,right: TreeNode?) -> Bool{
if left != nil {
if left?.val == right?.val{
if !isSame(left: left?.left, right: right?.right){
return false
}
if !isSame(left: right?.left, right: left?.right){
return false
}
}else{
return false
}
}else{
if right != nil{
return false;
}else{
return true
}
}
return true;
}
}
网友评论