zoukankan      html  css  js  c++  java
  • 判断一个二叉树是不是自己的镜像

    bool helper(TreeNode *pA, TreeNode *pB) {
            if (!pA && !pB) return true;
            if (!pA || !pB) return false;  // only one has node in a tree and b tree
            if (pA->val != pB->val) return false;
            return helper(pA->left, pB->.right) && helper(pA->right, pB->left); // a goes in in-order traversal, b goes right first then left.
        }
        
    public:
        bool isSymmetric(TreeNode *root) {
            if (!root)
                return true;
            
            return helper(root->left, root->right);
        }

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

    For example, this binary tree is symmetric:

        1
       / 
      2   2
     /  / 
    3  4 4  3
    

    But the following is not:

        1
       / 
      2   2
          
       3    3
    

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

  • 相关阅读:
    C#面向对象
    C#语句
    C#语言数据类型
    Jupyter Notebook(iPython)
    BeautifulSoup模块
    requests模块
    爬虫基本原理
    版本控制系统
    支付宝支付
    django内置组件——ContentTypes
  • 原文地址:https://www.cnblogs.com/zhhwgis/p/3956965.html
Copyright © 2011-2022 走看看