package com.interview.algorithms.tree;
import com.interview.basics.model.tree.BinaryTreeNode;
import com.interview.utils.ArrayUtil;
import com.interview.utils.BinaryTreePrinter;
/**
* Created with IntelliJ IDEA.
* User: stefanie
* Date: 9/15/14
* Time: 4:52 PM
*/
public class C5_8_BuildPostOrder {
public static String find(String preOrder, String inOrder){
C5_8A_RebuildTree<Character> treeBuilder = new C5_8A_RebuildTree<>();
BinaryTreeNode<Character> root = treeBuilder.rebuild(
ArrayUtil.getCharArray(preOrder),
ArrayUtil.getCharArray(inOrder),
C5_8A_RebuildTree.PRE_IN);
BinaryTreePrinter.print(root);
final StringBuilder builder = new StringBuilder();
C5_1_TreeTraverse.traverseByPostOrder(root, new Processor<Character>() {
@Override
public void process(Character element) {
builder.append(element);
}
});
return builder.toString();
}
}