/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
* };
*/
class Solution {
public:
bool flipEquiv(TreeNode* root1, TreeNode* root2) {
if(!root1 && !root2) return true;
if(!root1 || !root2) return false;
if(root1->val != root2->val) return false;
TreeNode* t1l = root1->left;
TreeNode* t1r = root1->right;
TreeNode* t2l = root2->left;
TreeNode* t2r = root2->right;
return flipEquiv(t1l, t2l) &&flipEquiv(t1r,t2r) || flipEquiv(t1l,t2r) && flipEquiv(t1r,t2l);
}
};
Leetcode 951. Flip Equivalent Binary Trees
最新推荐文章于 2024-05-30 20:12:06 发布