zoukankan      html  css  js  c++  java
  • AcWing 39. 对称的二叉树

    地址 https://www.acwing.com/problem/content/description/38/

    题目描述
    请实现一个函数,用来判断一棵二叉树是不是对称的。

    如果一棵二叉树和它的镜像一样,那么它是对称的。

    样例

    如下图所示二叉树[1,2,2,3,4,4,3,null,null,null,null,null,null,null,null]为对称二叉树:
        1
       / 
      2   2
     /  / 
    3  4 4  3
    
    如下图所示二叉树[1,2,2,null,4,4,3,null,null,null,null,null,null]不是对称二叉树:
        1
       / 
      2   2
        / 
       4 4  3

    算法1
    一个是树的递归遍历 一个是比较的边界条件要注意

    C++ 代码

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        bool issame(TreeNode* right,TreeNode* left)
        {
            if(right == NULL && left == NULL )
                return true;
            else if(right == NULL )
                return false;
            else if(left == NULL)
                return false;
            if(right->val != left->val)
                return false;
    
            return issame(right->right,left->left) && issame(right->left,left->right);
    
        }
        bool isSymmetric(TreeNode* root) {
            if(root == NULL) return true;
            return issame(root->right,root->left);
        }
    };
    
    作者:defddr
    链接:https://www.acwing.com/solution/acwing/content/3620/
    来源:AcWing
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    AC了 下一题

    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    初探Remoting双向通信(三)
    MySQL主从复制
    MySQL锁机制
    mySql索引
    连接池
    JDBC
    数据库建表、约束、索引
    Oracle和SQL简介
    Stream API 和 注解
    lambda表达式
  • 原文地址:https://www.cnblogs.com/itdef/p/11326795.html
Copyright © 2011-2022 走看看