func isSymmetric(_ root: TreeNode?) -> Bool {
guard let root = root else {
return true
}
var queue1: [TreeNode] = []
var queue2: [TreeNode] = []
queue1.append(root)
queue2.append(root)
while queue1.count > 0 {
let left = queue1.removeFirst()
let right = queue2.removeFirst()
if left.val != right.val {
return false
}
let i = left.left
let j = left.right
let x = right.left
let y = right.right
if i == nil && y != nil || i != nil && y == nil {
return false
}
if j == nil && x != nil || j != nil && x == nil {
return false
}
if i != nil && y != nil {
queue1.append(i!)
queue2.append(y!)
}
if j != nil && x != nil {
queue1.append(j!)
queue2.append(x!)
}
}
return true
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。