/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public boolean isSymmetric(TreeNode root) { if(root==null){ return true; } LinkedList<TreeNode> queue = new LinkedList<TreeNode>(); LinkedList<TreeNode> childrenQueue = new LinkedList<TreeNode>(); queue.add(root); while (!queue.isEmpty()){ TreeNode node = queue.remove(); if(node==null || node.left==null){ childrenQueue.add(null); }else{ childrenQueue.add(node.left); } if(node==null || node.right==null){ childrenQueue.add(null); }else{ childrenQueue.add(node.right); } if(queue.isEmpty() && !childrenQueue.isEmpty()){ for(int i=0; i<childrenQueue.size(); i++){ if(childrenQueue.get(i)!=null){ queue.add(childrenQueue.get(i)); } if(i<childrenQueue.size()/2){ int j = childrenQueue.size()-i-1; if(childrenQueue.get(i)==null && childrenQueue.get(j)==null){ continue; } if((childrenQueue.get(i)==null && childrenQueue.get(j)!=null) || (childrenQueue.get(i)!=null && childrenQueue.get(j)==null)){ return false; } if(childrenQueue.get(i).val == childrenQueue.get(j).val){ continue; } return false; } } childrenQueue.clear(); } } return true; } }
相关推荐
java java_leetcode-101-symmetric-tree
java java_leetcode-107-binary-tree-level-order-traversal
java java_leetcode-102-binary-tree-level-order-traversal
java java_leetcode-114-flatten-binary-tree-to-linked-list
java java_leetcode-105-construct-binary-tree-from-preorder-and-inorde
java java_leetcode-100-same-tree
java java_leetcode-110-balanced-binary-tree
java java_leetcode-maximum-depth-of-binary-tree
java java_leetcode-99-recover-binary-search-tree
java java_leetcode-111-minimum-depth-of-binary-tree
java java_leetcode-115-distinct-subsquences
java java_leetcode-112-path-sum
java java_leetcode-73-set-matrix-zeroes
java java_leetcode-113-path-sumII
https://github.com/geekxingyun/leetcode-java-algorithm-solution.git 然后你会发现当前项目有两个模块。 完成:它是完成的项目,并有一些关于 leetcode 的答案。 初始:只需在模块项目中编写代码 如果您不知道...
本资源“javalruleetcode-leetcode-algorithms-java”专注于 Java 语言在 LeetCode 平台上的算法实现,特别提到了 LRUCache(最近最少使用)数据结构,这是解决实际编程问题时常用的一种高效策略。 LRUCache 是一种...
c语言入门 c语言_leetcode题解543-diameter-of-binary-tree.c
java lru leetcode LeetCode-Tag-Java 解决方案 LeetCode 的解决方案 指数
《LeetCode-Java-Solutions: Java中LeetCode在线判断问题的解决方案详解》 在编程学习与进阶的过程中,LeetCode是一个不可多得的资源库,它提供了大量的算法题目供程序员练习,以提升自身的编程能力和算法水平。...
4. leetcode-145-Binary-Tree-Postorder-Traversal.md:第145题,二叉树的后序遍历,是关于树结构和递归的问题。 5. leetCode-5-Longest-Palindromic-Substring.md:第5题,最长回文子串,考察字符串处理和动态规划...