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 };
  • 相关阅读:
    sqlserver 智能提示插件
    支付相关-算法知识2
    支付相关-算法知识1
    支付相关-证书知识学习4
    支付相关-证书知识学习3
    支付相关-证书知识学习2
    getID3类的学习使用
    ThinkPHP 的 Vender的简单实用
    postman的简单使用
    js 实现点击复制文本内容
  • 原文地址:https://www.cnblogs.com/Asurudo/p/10052883.html
Copyright © 2011-2022 走看看