zoukankan      html  css  js  c++  java
  • Leetcode-951 Flip Equivalent Binary Trees(翻转等价二叉树)

     1 class Solution
     2 {
     3     public:
     4         void swapTree(TreeNode *root)
     5         {
     6             TreeNode *p= root->left;
     7             root->left = root->right;
     8             root->right=p;
     9         }
    10         bool isSameTree(TreeNode* p, TreeNode* q)
    11         {
    12             if(!p&&!q)
    13                 return true;
    14             else if(p&&!q)
    15                 return false;
    16             else if(!p&&q)
    17                 return false;
    18             if(p->val!=q->val)
    19                 return false;
    20             return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
    21         }
    22         bool nodeequal(TreeNode* p, TreeNode* q)
    23         {
    24             if(p->left==NULL&&q->left!=NULL
    25             ||p->right==NULL&&q->right!=NULL
    26             ||p->left!=NULL&&q->left==NULL
    27             ||p->right!=NULL&&q->right==NULL)
    28                 return false;
    29             if(p->left&&p->left->val!=q->left->val)
    30                 return false;
    31             if(p->right&&p->right->val!=q->right->val)
    32                 return false;
    33             return true;
    34         }
    35         bool flipEquiv(TreeNode* root1, TreeNode* root2)
    36         {
    37             if(root1==NULL&&root2!=NULL||
    38             root1!=NULL&&root2==NULL)
    39                 return false;
    40             if(root1==NULL&&root2==NULL)
    41                 return true;
    42             if(root1->left&&root1->right
    43                     &&!root2->right&&!root2->left)
    44                 return false;
    45             if(!nodeequal(root1,root2))
    46                 swapTree(root2);
    47             flipEquiv(root1->left,root2->left);
    48             flipEquiv(root1->right,root2->right);
    49             return isSameTree(root1,root2);
    50         }
    51 };
  • 相关阅读:
    redis 安装配置
    ORM 效率补充
    function*
    路由器
    nodejs开发辅助工具nodemon
    npm淘宝镜像配置
    Node中的模块系统
    artTemplate不仅可以在浏览器中使用,还可以在node中使用
    代码风格JavaScript standard style与Airbnb style
    osChina.net工具
  • 原文地址:https://www.cnblogs.com/Asurudo/p/10052883.html
Copyright © 2011-2022 走看看