zoukankan      html  css  js  c++  java
  • LeetCode 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:

    
    
    

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

    
    
    

    Note:
    Bonus points if you could solve it both recursively and iteratively.

    题解:递归比较二者的子树

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     struct TreeNode *left;
     *     struct TreeNode *right;
     * };
     */
    bool ju(struct TreeNode* a,struct TreeNode* b){
          if(a->val == b->val)
          {
              if((a->left==NULL&&b->right==NULL)||(a->left!=NULL&&b->right!=NULL&&ju(a->left,b->right)))
              {
                  if((b->left==NULL&&a->right==NULL)||(b->left!=NULL&&a->right!=NULL&&ju(b->left,a->right)))
                      return true;
                  else
                      return false;
              }
              else
                  return false;
             
          }
        return false;
    }
    bool isSymmetric(struct TreeNode* root) {
        
        if(root==NULL) return true;
        if((root->left==NULL&&root->right==NULL)||(root->left!=NULL&&root->right!=NULL&&ju(root->left,root->right)))
            return true;
        else
           return false;
        
    }
  • 相关阅读:
    SQL通用数据类型
    SQL基础
    软件测试相关(1)
    C语言——判断
    C语言新手教程——计算
    并查集
    洛谷-P1551 亲戚
    洛谷-P1536 村村通
    洛谷-P1525 [NOIP2010 提高组] 关押罪犯
    洛谷-P2814 家谱
  • 原文地址:https://www.cnblogs.com/dacc123/p/8892410.html
Copyright © 2011-2022 走看看