zoukankan      html  css  js  c++  java
  • #leetcode101.对称二叉树

    对称二叉树,判断这个树是否是对称的, 就是判断它的左右节点是否相等,如果相等的话,就继续递归,判断它左节点的左节点和右节点的右节点及左节点的右节点和右节点的左节点是否相等。

    这样递归判断下去就能够分辨出整棵树是不是镜像对称的。

     这是整个递归的过程,就是将任务不断的往下分解,判断他们的子节点是否是对称的,每一对子节点的对称结果决定了父节点的对称性。

    看下代码,重点看下递归结束的条件是怎么样写的:

    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);
    
        }
  • 相关阅读:
    16.14
    16.13
    JAVA JLabel自定义子类无法显示
    16.12
    16.11
    css实现垂直居中
    HTML5学习笔记
    HTML、Css中插入图片的一些问题
    MySQL的if函数
    java实现将汉字转为首字母、拼音
  • 原文地址:https://www.cnblogs.com/kerwins-AC/p/14456128.html
Copyright © 2011-2022 走看看