• 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);
            }

  • 相关阅读:
    数据流图
    数据库设计
    多媒体基础知识
    面向对象程序设计
    UML建模
    warning: integer overflow in expression [Woverflow]
    unmatched/skipped datagrams
    MFC
    D3DWindower
    cheatengine
  • 原文地址:https://www.cnblogs.com/theonemars/p/4254133.html
Copyright © 2020-2023  润新知