Skip to content

Commit d1e483d

Browse files
committed
Add TreeProblems class
1 parent f4e4894 commit d1e483d

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,21 @@
11
package org.dojo.algorithms;
22

3+
import java.util.HashMap;
4+
import java.util.Map;
5+
36
public class TreeProblems {
7+
public static void processPostOrder(int[] inorder, int[] preorder) {
8+
Map<Integer, Integer> inorderMap = new HashMap<>();
9+
for (int i = 0; i < inorder.length; i++) inorderMap.put(inorder[i], i);
10+
processPostOrderInternal(inorderMap, preorder, 0, preorder.length);
11+
}
12+
13+
private static void processPostOrderInternal(Map<Integer, Integer> inorderMap, int[] preorder, int start, int end) {
14+
if (start > end) return;
15+
int node = inorderMap.get(preorder[0]);
16+
if (node != 0) processPostOrderInternal(inorderMap, preorder, start, node - 1);
17+
if (node != preorder.length - 1) processPostOrderInternal(inorderMap, preorder, node + 1, end);
18+
19+
System.out.println("Node is " + preorder[0]);
20+
}
421
}

0 commit comments

Comments
 (0)