Tree.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
import java.util.ArrayList; public class Tree { private class TreeNode { String value; TreeNode left, right; public TreeNode(String value){ this.value = value; } public String toString(){ return "TreeNode: " + value.toString(); } } TreeNode root; public void printInOrder(TreeNode curr){ // Print the left subtree if (curr.left != null) printInOrder(curr.left); // Print curr System.out.println(curr); // Print the right subtree if (curr.right != null) printInOrder(curr.right); } public void buildPrefixTreeExample(){ TreeNode nPlus = new TreeNode("+"); root = nPlus; TreeNode nMinus = new TreeNode("-"); nPlus.left = nMinus; TreeNode nThree = new TreeNode("3"); nMinus.left = nThree; TreeNode nOne = new TreeNode("1"); nMinus.right = nOne; TreeNode nTwo = new TreeNode("2"); nPlus.right = nTwo; } // Test code. public static void main(String[] args){ Tree t = new Tree(); t.buildPrefixTreeExample(); t.printInOrder(t.root); } } |