Easy and simple using one queue iterative in java
public class Solution {\n        public boolean isSymmetric(TreeNode root) {\n            if(root == null) return true;\n            Queue<TreeNode> queue = new
    public class Solution {\n        public boolean isSymmetric(TreeNode root) {\n            if(root == null) return true;\n            Queue<TreeNode> queue = new LinkedList<TreeNode>();\n            queue.offer(root.left);\n            queue.offer(root.right);\n            while(!queue.isEmpty()){\n                TreeNode left = queue.poll();\n                TreeNode right = queue.poll();\n                if(left == null && right == null) continue;\n                if(left == null || right == null) return false;\n                if(left.val != right.val) return false;\n                queue.offer(left.left);\n                queue.offer(right.right);\n                queue.offer(left.right);\n                queue.offer(right.left);\n                \n            }\n            return true;\n            \n        }\n    }
[]