leetcode 951. Flip Equivalent Binary Trees
题意:给两颗二叉树,通过交换子树,能否使两棵树一样。
思路:跟剑指offer里面的镜像二叉树挺像的。
class Solution {
public:
bool flipEquiv(TreeNode* root1, TreeNode* root2) {
if (root1 == nullptr && root2 == nullptr)
return true;
if (root1 == nullptr || root2 == nullptr)
return false;
if (root1->val != root2->val)
return false;
return (flipEquiv(root1->left, root2->left) && flipEquiv(root1->right, root2->right)) || (flipEquiv(root1->left, root2->right) && flipEquiv(root1->right, root2->left));
}
};