网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

leetCode101.SymmetricTree对称树

101. Symmetric Tree

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的庐山网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).

For example, this binary tree [1,2,2,3,4,4,3] is symmetric:

    1
   / \
  2   2
 / \ / \
3  4 4  3

But the following [1,2,2,null,3,null,3] is not:

    1
   / \
  2   2
   \   \
   3    3

代码如下:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
 //思路:
 //1.判断root是否为空,若空则返回true,否则false;
 //2.判断root->left,root->right是否同时为空,若为空则返回true;
 //3.判断root->left,root->right同时不为空时,将root->right反转,
 //然后判断新root->right和root->left是否为相同的树。
class Solution {
public:
    bool isSameTree(TreeNode* p, TreeNode* q) {
        bool childResult;
        if( NULL == p && NULL == q)
            return true;
        if( NULL != p && NULL != q && p->val == q->val)
        {
            return childResult = isSameTree(p->left,q->left) && isSameTree(p->right,q->right);
        }
        return false;
         
    }
    
    void reverseTree(TreeNode* root)
    {
        if(!root)
            return;
        TreeNode *p,*q;
        p = root->left;
        q = root->right;
        root->left = q;
        root->right = p;
        reverseTree(root->left);
        reverseTree(root->right);
    }
    
    bool isSymmetric(TreeNode* root) {
        if( (NULL == root) || ( NULL == root->left  && NULL == root->right) )
            return true;
        if(NULL != root->left && NULL != root->right)
        {
            reverseTree(root->right);
            return isSameTree(root->left,root->right);
        }
        return false;
    }
};



网页标题:leetCode101.SymmetricTree对称树
网站网址:http://bjjierui.cn/article/gijied.html

其他资讯