Flip Binary Tree To Match Preorder Traversal LeetCode solution in Java
1class Solution {2int vix = 0;3List<Integer> ans = new ArrayList<>();45private void dfs(TreeNode node, int[] V) {6if (node == null || (ans.size() != 0 && ans.get(0) == -1)) return;7if (node.val != V[vix++]) ans = new ArrayList<Integer>(Arrays.asList(-1));8else if (node.left != null && node.left.val != V[vix]) {9ans.add(node.val);10dfs(node.right, V);11dfs(node.left, V);12} else {13dfs(node.left, V);14dfs(node.right, V);15}16}1718public List<Integer> flipMatchVoyage(TreeNode root, int[] V) {19dfs(root, V);20return ans;21}22}