对称的二叉树

来源:互联网 发布:div into python 编辑:程序博客网 时间:2024/06/10 12:47

题目描述:

请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。

解题思路

左子树的左子树和右子树的右子树相同,左子树的右子树和右子树的左子树相同,则为对称。

/*public class TreeNode {    int val = 0;    TreeNode left = null;    TreeNode right = null;    public TreeNode(int val) {        this.val = val;    }}*/public class Solution {    public boolean isSymmetrical(TreeNode root){        if(root==null){            return true;        }        return helper(root.left,root.right);    }    public boolean helper(TreeNode left,TreeNode right){        //如果左右子树为空,是对称的,返回true,这也是递归的出口        if(left==null && right==null){            return true;        }        //如果左右不为空        if(left!=null && right!=null){            return left.val==right.val && helper(left.left,right.right) && helper(left.right,right.left);        }        //其他情况        return false;    }}
0 0
原创粉丝点击