zoukankan      html  css  js  c++  java
  • 37: Symmetric Tree

    /************************************************************************/
            /*       37:      Symmetric Tree                                        */
            /************************************************************************/
            /*
             * 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.

             * */
            
            //判断二叉树是否是对称树(非递归写起来真是。。。)

      public boolean isSymmetric(TreeNode root)
            {
                if(root==null)
                {
                    return true;
                }
                return IsMirror(root.left,root.right);
            }
            
            
            private Boolean IsMirror(TreeNode nodeleft,TreeNode noderight)
            {
                if(nodeleft==null&&noderight==null)
                {
                    return true;
                }
                if(nodeleft==null||noderight==null)
                {
                    return false;
                }
                return nodeleft.val==noderight.val&&IsMirror(nodeleft.left, noderight.right)&&IsMirror(nodeleft.right, noderight.left);
            }

  • 相关阅读:
    Linux下升级gcc版本(9.1.0版本)
    Linux/CentOS系统同步网络时间的2种方法详解
    为什么使用promise
    总结js深拷贝和浅拷贝
    js闭包理解
    select框实现多选的功能
    动态添加element-ui组件
    总结鼠标移入移出事件
    echarts提示框太长,导致显示不全 ,撑大div框的问题
    vue项目中管理定时器
  • 原文地址:https://www.cnblogs.com/theonemars/p/4254133.html
Copyright © 2011-2022 走看看