import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } */ public class Solution { /** * * @param root TreeNode类 * @return bool布尔型 */ public boolean isSymmetric (TreeNode root) { // write code here if(root == null) return true; Deque<TreeNode> d = new LinkedList<>(); d.offerLast(root.left); d.offerLast(root.right); while(!d.isEmpty()){ TreeNode left = d.pollFirst(); TreeNode right = d.pollFirst(); if(left == null && right == null) continue; if(left == null || right == null) return false; if(left.val != right.val) return false; d.offerLast(left.left); d.offerLast(right.right); d.offerLast(left.right); d.offerLast(right.left); } return true; } }