Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
For example, this binary tree is symmetric:
1 / \ 2 2 / \ / \ 3 4 4 3
But the following is not:
1 / \ 2 2 \ \ 3 3
/** * Definition for a binary tree node. * 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; } if (root.left==null && root.right==null) { return true; } if (root.left==null || root.right==null) { return false; } LinkedList<TreeNode> q1 = new LinkedList<TreeNode>(); LinkedList<TreeNode> q2 = new LinkedList<TreeNode>(); q1.add(root.left); q2.add(root.right); while (!q1.isEmpty() && !q2.isEmpty()) { TreeNode n1 = q1.poll(); TreeNode n2 = q2.poll(); if (n1.val != n2.val) { return false; } if (n1.left==null&&n2.right!=null || n1.left!=null&&n2.right==null) { return false; } if (n1.right==null&&n2.left!=null || n1.right!=null&&n2.left==null) { return false; } if (n1.left!=null && n2.right!=null) { q1.add(n1.left); q2.add(n2.right); } if (n1.right!=null && n2.left!=null) { q1.add(n1.right); q2.add(n2.left); } } return true; } }
相关推荐
java面试算法/刷题
java java_leetcode-101-symmetric-tree
python python_leetcode题解之101_Symmetric_Tree
js js_leetcode题解之101-symmetric-tree.js
Symmetric Tree)。这两个问题都涉及到对二叉树结构的深入理解和遍历策略。 首先,我们来看验证二叉搜索树。二叉搜索树(Binary Search Tree, BST)是一种特殊的二叉树,其特性是每个节点的值大于其左子树中的所有...
- **Symmetric Tree**:判断一个二叉树是否是对称的。 - **Same Tree**:判断两棵二叉树是否相同。 - **Balanced Binary Tree**:判断一个二叉树是否是平衡的。 - **Path Sum**:判断是否存在一条路径,其节点值...
在LeetCode上,第101题被称为“对称二叉树”(Symmetric Tree)。这是一道数据结构与算法问题,主要考察的是二叉树的遍历和比较。题目要求编写一个函数,判断给定的二叉树是否是对称的。对称二叉树的定义是:如果一...
例如,树的层级遍历(Levelorder Traversal)、判断树的对称性(Symmetric Tree)、找到二叉搜索树中距离某个值最近的节点(Closest Binary Search Tree Value)等。这些题目通常要求编写者熟悉树的结构和遍历方法,...
lru缓存leetcode ...https://leetcode.com/problems/symmetric-tree/ Symmetric Tree 102 https://leetcode.com/problems/binary-tree-level-order-traversal/ Binary Tree Level Order Traversal 103 ...
- **对称树(Symmetric Tree)**: 判断一个二叉树是否是对称的。 - **相同的树(Same Tree)**: 判断两个二叉树是否相同。 - **平衡二叉树(Balanced Binary Tree)**: 判断一个二叉树是否是高度平衡的。 ##### 动态规划...
3. **二叉树**:二叉树问题是算法题目的重头戏,包括"二叉树的遍历"(Traversal)、"判断二叉树对称性"(Symmetric Tree)等。Swift中的可选类型(Optional)使得处理空节点变得直观。 4. **动态规划**:动态规划是...
* [Binary Search Tree](https://github.com/kamyu104/LeetCode#binary-search-tree) * [Breadth-First Search](https://github.com/kamyu104/LeetCode#breadth-first-search) * [Depth-First Search]...
* Symmetric Tree:给定一个二叉树,判断是否为对称树。这个题目需要使用递归的思想,将树分解成更小的子树,并判断是否对称。 4. 动态规划 动态规划是一种非常重要的算法思想,LeetCode 中有很多关于动态规划的...
Symmetric tree - Java Recursive - Java Iterative - C Recursive - Python Iterative 0102 Binary Tree Level Order Traversal - Python3 iterative 0103 Binary Tree Zigzag Level Order Traversal - ...
leetcode 答案 LeetCode-Trip ...Symmetric Tree] [104. Maximum Depth of Binary Tree] [121. Best Time to Buy and Sell Stock] [167. Two Sum II - Input array is sorted] Medium [2. Add Two Numbers]
isSymmetric(TreeNode root) { if(root == NULL) return true; return checkSymmetric(root->left, root->right); } bool checkSymmetric(TreeNode* left, TreeNode* right) { if(left == NULL && right == NULL) ...
•Introduction to Regular MSCTS and Flow Overview •Tap Synthesis •Htree Synthesis •Tap Assignment •Q&A • The effects of process and on-chip variation (OCV) ...• Custom clock tree generally c
6. **spinlock_api_smp.c**: "spinlock API for SMP"指的是在一个对称多处理器(Symmetric MultiProcessing)系统中使用的自旋锁(spinlock)接口。自旋锁是多线程编程中的同步原语,用于保护共享资源,防止并发访问...
101.symmetric-tree (对称二叉树) 102.binary-tree-level-order-traversal (二叉树的层序遍历) 104.maximum-depth-of-binary-tree (二叉树的最大深度) 105.construct-binary-tree-from-preorder-and-inorder-...