leetcode951. Flip Equivalent Binary Trees

题目链接
题目:给出两棵树,问能不能通过翻转(互换)左右孩子节点而互相转化
思路:递归进行比较,第一棵树的左孩子和第二棵数的左孩子,第一棵树的右孩子和第二棵数的右孩子 或者 第一棵树的左孩子和第二棵数的右孩子,第一棵树的右孩子和第二棵数的左孩子。

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public boolean flipEquiv(TreeNode root1, TreeNode root2) {
        if(root1 == null || root2 == null){
            return root1 == root2;
        }
        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);
    }
}

leetcode951. Flip Equivalent Binary Trees