`
zhang_xzhi_xjtu
  • 浏览: 538553 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

[leetcode] SymmetricTree

阅读更多
package t;

/**
* <pre>
* 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
* </pre>
* */
public class SymmetricTree {

    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;
            return isSymmetric(root.left, root.right);
        }

        public boolean isSymmetric(TreeNode left, TreeNode right) {
            if (left == null && right == null)
                return true;
            if (left == null || right == null)
                return false;
            if (left.val != right.val)
                return false;
            return isSymmetric(left.left, right.right)
                    && isSymmetric(left.right, right.left);
        }
    }
}
0
5
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics