ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

BM31 对称的二叉树

2022-03-02 21:03:06  阅读:178  来源: 互联网

标签:BM31 TreeNode val return 二叉树 对称 root1 root2


描述

给定一棵二叉树,判断其是否是自身的镜像(即:是否对称)
例如:下面这棵二叉树是对称的
请添加图片描述
下面这棵二叉树不对称。
请添加图片描述
数据范围:节点数满足0≤n≤1000,节点上的值满足∣val∣≤1000
要求:空间复杂度 O(n),时间复杂度 O(n)
备注:你可以用递归和迭代两种方法解决这个问题

示例1
输入:{1,2,2,3,4,4,3}
返回值:true

示例2
输入:{8,6,9,5,7,7,5}
返回值:false

代码

/*
struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    TreeNode(int x) :
            val(x), left(NULL), right(NULL) {
    }
};
*/
class Solution {
public:
    bool isSame(TreeNode *root1,TreeNode *root2){
        if(!root1&&!root2)
            return true;
        if(!root1||!root2)
            return false;
        if(root1->val!=root2->val)
            return false;
        return isSame(root1->left, root2->right)&&isSame(root1->right, root2->left);
    }
    bool isSymmetrical(TreeNode* pRoot) {
        return isSame(pRoot,pRoot);
    }

};

标签:BM31,TreeNode,val,return,二叉树,对称,root1,root2
来源: https://blog.csdn.net/qq_40279192/article/details/123240015

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有