题目描述:
提示:
每棵树最多有 100 个节点。
每棵树中的每个值都是唯一的、在 [0, 99] 范围内的整数。
递归我也没写出来,最近不在状态呀!!!!
class Solution {
public boolean flipEquiv(TreeNode root1, TreeNode root2) {
if(root1 == null && root2 == null){
return true;
}
if(root1 == null || root2 == null || root1.val != root2.val){
return false;
}
if((flipEquiv(root1.left,root2.right))&& (flipEquiv(root1.right,root2.left))
||((flipEquiv(root1.left,root2.left)) && (flipEquiv(root1.right,root2.right))) ){
return true;
}
return false;
}
}
看看官方的非递归解法
class Solution {
public boolean flipEquiv(TreeNode root1, TreeNode root2) {
List<Integer> vals1 = new ArrayList();
List<Integer> vals2 = new ArrayList();
dfs(root1, vals1);
dfs(root2, vals2);
return vals1.equals(vals2);
}
public void dfs(TreeNode node, List<Integer> vals) {
if (node != null) {
vals.add(node.val);
int L = node.left != null ? node.left.val : -1;
int R = node.right != null ? node.right.val : -1;
if (L < R) {
dfs(node.left, vals);
dfs(node.right, vals);
} else {
dfs(node.right, vals);
dfs(node.left, vals);
}
vals.add(null);
}
}
}
作者:LeetCode
链接:https://leetcode-cn.com/problems/flip-equivalent-binary-trees/solution/fan-zhuan-deng-jie-er-cha-shu-by-leetcode/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。