• 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;
        
    }
  • 相关阅读:
    while 循环 。。
    数据运算,运算符
    字符串常用操作
    列表常用操作
    三级菜单
    杂七杂八
    简单的登陆程序001
    猜年龄游戏
    实现密文输入密码
    使用urllib2打开网页的三种方法
  • 原文地址:https://www.cnblogs.com/dacc123/p/8892410.html
Copyright © 2020-2023  润新知