diff --git a/InOrderPostOrderBinaryTree.java b/InOrderPostOrderBinaryTree.java new file mode 100644 index 00000000..a9f163b5 --- /dev/null +++ b/InOrderPostOrderBinaryTree.java @@ -0,0 +1,47 @@ +/** + * Definition for a binary tree node. + * public class TreeNode { + * int val; + * TreeNode left; + * TreeNode right; + * TreeNode() {} + * TreeNode(int val) { this.val = val; } + * TreeNode(int val, TreeNode left, TreeNode right) { + * this.val = val; + * this.left = left; + * this.right = right; + * } + * } + */ +//Time Complexity - O(n2) +//Space Complexity - O(n2) +class InOrderPostOrderBinaryTree { + public TreeNode buildTree(int[] preorder, int[] inorder) { + + if (preorder.length == 0) return null; + + int rootVal = preorder[0]; + int rootIdx = -1; + + for(int i=0; i