zoukankan      html  css  js  c++  java
  • 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.

    分析:判断给定的一棵二叉树是不是对称的。

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
     public boolean isSymmetric(TreeNode root) { //递归
            if (root == null) return true;  
            return isMiror(root.left, root.right);  
        }
       public boolean isMiror(TreeNode n1, TreeNode n2) {  //判断两棵树是否成镜像
            if (n1 == null && n2 == null) return true;  
            if (n1 == null && n2 != null) return false;  
            if (n1 != null && n2 == null) return false;  
            if (n1.val != n2.val) return false;  
            return isMiror(n1.left, n2.right) && isMiror(n1.right, n2.left);  
        }  

     

  • 相关阅读:
    数据库的创建与管理
    html+css画虚线,实线
    隐藏导航练习
    表单—注册邮箱
    整理—运算符l
    softmax函数理解
    离线配置Anaconda3+tensorflow-gpu1.4.0+cuda8.0+cudnn6.0
    stl总结精简版
    hdu_2030
    康托展开
  • 原文地址:https://www.cnblogs.com/mydesky2012/p/5056172.html
Copyright © 2011-2022 走看看