题解 | #对称的二叉树#
对称的二叉树
https://www.nowcoder.com/practice/ff05d44dfdb04e1d83bdbdab320efbcb
/* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ import java.util.*; public class Solution { boolean isSymmetrical(TreeNode pRoot) { if((pRoot == null) || (pRoot.right == null && pRoot.left == null)) { return true; } Queue<TreeNode> leftQueue = new LinkedList<>(); Queue<TreeNode> rightQueue = new LinkedList<>(); leftQueue.offer(pRoot.left); rightQueue.offer(pRoot.right); while (!leftQueue.isEmpty() && !rightQueue.isEmpty()) { TreeNode left = leftQueue.poll(); TreeNode right = rightQueue.poll(); if(left == null && right==null) { continue; } if(left ==null || right == null || left.val != right.val) { return false; } leftQueue.offer(left.left); leftQueue.offer(left.right); rightQueue.offer(right.right); rightQueue.offer(right.left); } return true; } }