Flip Binary Tree To Match Preorder Traversal LeetCode solution in Java

1
class Solution {
2
int vix = 0;
3
List<Integer> ans = new ArrayList<>();
4

5
private void dfs(TreeNode node, int[] V) {
6
if (node == null || (ans.size() != 0 && ans.get(0) == -1)) return;
7
if (node.val != V[vix++]) ans = new ArrayList<Integer>(Arrays.asList(-1));
8
else if (node.left != null && node.left.val != V[vix]) {
9
ans.add(node.val);
10
dfs(node.right, V);
11
dfs(node.left, V);
12
} else {
13
dfs(node.left, V);
14
dfs(node.right, V);
15
}
16
}
17

18
public List<Integer> flipMatchVoyage(TreeNode root, int[] V) {
19
dfs(root, V);
20
return ans;
21
}
22
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0