您的位置:首页 > 编程语言 > Java开发

leetcode-101. Symmetric Tree

2016-12-26 10:13 351 查看

leetcode-101. Symmetric Tree

题目:

>

Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).

For example, this binary tree [1,2,2,3,4,4,3] is symmetric:

1


/ \

2 2

/ \ / \

3 4 4 3

But the following [1,2,2,null,3,null,3] 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;
return helper(root.left,root.right);
}

private boolean helper(TreeNode left, TreeNode right){
if(left==null && right ==null)return true;
if(left == null || right ==null || left.val!=right.val) return false;
return helper(left.left,right.right) &&
helper(left.right,right.left);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode java