All pastes #347611 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-02-09 15:43 UTC
rendered paste body
//Jim
public class exercises
{
  public static boolean isLeaf(TreeNode node)
  {
    return node != null && node.getLeft() == null 
           && node.getRight() == null;
  }
  public static int sumTree(TreeNode root)
  {
    if(root == null)
      return 0;
    return ((Integer)root.getValue()).intValue()
           + sumTree(root.getLeft())
           + sumTree(root.getRight());
  }
  public static int countPaths(TreeNode root)
  {
    if(root == null)
      return 0;
    int sum = 0;
    if(root.getLeft() != null)
      sum += 1 + countPaths(root.getLeft());
    if(root.getRight() != null)
      sum += 1 + countPaths(root.getRight());
    return sum;
  }
  public static int depth(TreeNode root)
  {
    if(root == null)
      return 0;
    return Math.max(1 + depth(root.getLeft()),
                    1 + depth(root.getRight()));
  }
  public static void main()
  {
    TreeNode head = new TreeNode(1, new TreeNode(2, new TreeNode(4), new TreeNode(5)), new TreeNode(3, new TreeNode(6), null));
    printTree(head);
    System.out.println("\n"+sumTree(head));
    System.out.println(countPaths(head));
    System.out.println(depth(head));
  }
  public static void printTree(TreeNode root)
  {
    if(root == null)
      return;
    printTree(root.getLeft());
    System.out.print(root.getValue()+" ");
    printTree(root.getRight()); 
  }
}