• 牛客(58)对称的二叉树


    //    题目描述
    //    请实现一个函数,用来判断一颗二叉树是不是对称的。
    //    注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
    
        public class TreeNode {
            int val = 0;
            TreeNode left = null;
            TreeNode right = null;
    
            public TreeNode(int val) {
                this.val = val;
    
            }
    
        }
        boolean isSymmetrical(TreeNode pRoot)
        {
    //        检查不过
    //        if (pRoot==null){
    //            return false;
    //        }
    //        二叉树镜像
            TreeNode image = getImage(pRoot);
    //        比较
            return isSymmetrical(pRoot,image);
        }
    
        private boolean isSymmetrical(TreeNode pRoot, TreeNode image) {
            if (pRoot==null&&image==null){
                return true;
            }else if (pRoot==null||image==null){
                return false;
            }
    
    
            if (pRoot.val==image.val){
                return isSymmetrical(pRoot.right,image.right)&&isSymmetrical(pRoot.left,image.left);
            }
            return false;
        }
    
        private TreeNode getImage(TreeNode pRoot) {
            if (pRoot==null){
                return null;
            }
            TreeNode image = new TreeNode(pRoot.val);
            image.right = getImage(pRoot.left);
            image.left = getImage(pRoot.right);
            return image;
        }
  • 相关阅读:
    C#可空类型 T?
    Unity踩过的坑
    Unity可视化数据:创建图表
    unity3d屏幕截图功能
    unity3d插入android有米广告
    Unity调用PC摄像头
    使用Unity的50个建议
    Unity3d流光效果
    unity3d中的Quaternion.LookRotation
    Unity3D中可重载虚函数的总结
  • 原文地址:https://www.cnblogs.com/kaibing/p/9109234.html
Copyright © 2020-2023  润新知