Java Recursive Solution, Beats 100% in Time
Either the tree nodes can have nodes not flipped in which case left of root1 and left of root2, right of root1 and right of root2 will be equivalent, and if it 
Either the tree nodes can have nodes not flipped in which case left of root1 and left of root2, right of root1 and right of root2 will be equivalent, and if it is flipped, left of root1 will be equivalent to right of root2 and right of root1 will be equivalent to left of root2\nIt will be an OR condition between these two\n```\nclass Solution {\n    public boolean flipEquiv(TreeNode root1, TreeNode root2) {\n        if(root1 == null && root2 == null)\n            return true;\n        if(root1 == null || root2 == null)\n            return false;\n        \n        return(root1.val == root2.val && (( flipEquiv(root1.left, root2.left) && flipEquiv(root1.right, root2.right)  ) || ( flipEquiv(root1.left, root2.right) && flipEquiv(root1.right, root2.left) ) ) );\n        \n    }\n}\n```
['Recursion', 'Java']