【LeetCode-面试算法经典-Java实现】【101-Symmetric Tree(对称树)】
来源:互联网 发布:济南行知小学是公立 编辑:程序博客网 时间:2024/05/28 11:29
【101-Symmetric Tree(对称树)】
【LeetCode-面试算法经典-Java实现】【所有题目目录索引】
原题
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
Note:
Bonus points if you could solve it both recursively and iteratively.
题目大意
给定一棵树,判断它是否是对称的。即树的左子树是否是其右子树的镜像。
解题思路
使用递归进行求解,先判断左右子结点是否相等,不等就返回false,相等就将左子结点的左子树与右子结果的右子结点进行比较操作,同时将左子结点的左子树与右子结点的左子树进行比较,只有两个同时为真是才返回true,否则返回false。
代码实现
树结点类
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; } else { return isSame(root.left, root.right); } } private boolean isSame(TreeNode left, TreeNode right) { if (left == null && right == null) { return true; } if (left != null && right == null || left == null && right != null){ return false; } else { return left.val == right.val && isSame(left.left, right.right) && isSame(left.right, right.left); } }}
评测结果
点击图片,鼠标不释放,拖动一段位置,释放后在新的窗口中查看完整图片。
特别说明
欢迎转载,转载请注明出处【http://blog.csdn.net/derrantcm/article/details/47333335】
3 0
- 【LeetCode-面试算法经典-Java实现】【101-Symmetric Tree(对称树)】
- [leetcode]Symmetric Tree (对称树 C语言实现)
- leetcode解题之101# Symmetric Tree Java版(对称树)
- Leetcode#101. Symmetric Tree(对称树)
- LeetCode 101 Symmetric Tree(对称树)(*)
- leetcode-Symmetric Tree 对称树
- leetcode-Symmetric Tree 对称树
- leetcode-Symmetric Tree 对称树
- LeetCode-101-Symmetric Tree judge对称tree
- 【101-Symmetric Tree(对称树)】
- 【LeetCode-面试算法经典-Java实现】【098-Validate Binary Search Tree(验证二叉搜索树)】
- 【LeetCode-面试算法经典-Java实现】【110-Balanced Binary Tree(平衡二叉树)】
- 【LeetCode-面试算法经典-Java实现】【226-Invert Binary Tree(反转二叉树)】
- Symmetric Tree(对称树)
- LeetCode-101-Symmetric Tree(判断是否为对称树)
- LeetCode OJ 之 Symmetric Tree(对称树)
- LeetCode 101. Symmetric Tree(对称的树)
- 【leetcode 二叉树对称判断】Symmetric Tree
- JSP标签
- 【LeetCode-面试算法经典-Java实现】【096-Unique Binary Search Trees(唯一二叉搜索树)】
- Java大文件读取
- 【LeetCode-面试算法经典-Java实现】【100-Same Tree(两棵树是否相同)】
- 多线程01---多线程基础
- 【LeetCode-面试算法经典-Java实现】【101-Symmetric Tree(对称树)】
- VS2013各版本激活密钥
- Java 读取文件
- 构造函数为什么不能是虚函数?
- Java - 继承
- python基础学习笔记<内建模块与第三方模块>
- 2.8.1 创建敌人
- 黑马程序员——多态
- Quartz2D - 08.图片擦除效果