Write a method called printLevel that accepts an integer parameter n and prints the values at level n from left to right, one per line. We will use the convention that the overall root is at level 1, its children are at level 2, and so on. If there are no values at the level, your method should produce no output. Your method should throw an IllegalArgumentException if it is passed a value for a level that is less than 1. For example, if a variable t refers to reference tree #2, then the call of t.printLevel(3); would produce the following output:
0
7
6
Add the above method to the IntTree class from this chapter. You may define additional private methods to implement your public method if necessary. Several problem descriptions refer to the following reference binary trees:
public void printLevel(int n)
{
printLevel(overallRoot, n);
}
private void printLevel(IntTreeNode root, int level)
{
if(level < 0)
throw new IllegalArgumentException();
if(root == null)
return;
if(level == 1)
{
System.out.println(root.data);
}
else
{
printLevel(root.left, level - 1);
printLevel(root.right, level - 1);
}
}