public static void main(String args[]) {
        TreeTraversalLevelByLevel tt = new TreeTraversalLevelByLevel();
        BinaryTree bt = new BinaryTree();
        Node root = null;
        root = bt.addNode(10, root);
        root = bt.addNode(20, root);
        root = bt.addNode(30, root);
        root = bt.addNode(15, root);
        root = bt.addNode(-10, root);
        root = bt.addNode(0, root);
        root = bt.addNode(5, root);
        root = bt.addNode(-5, root);
        root = bt.addNode(-15, root);
        root = bt.addNode(27, root);
        root = bt.addNode(35, root);
        System.out.println("1. Two queue technique");
        tt.levelByLevelTwoQueue(root);
        System.out.println("\n2. One queue and delimiter");
        tt.levelByLevelOneQueueUsingDelimiter(root);
        System.out.println("\n\n3. One queue and count");
        tt.levelByLevelOneQueueUsingCount(root);
    }
Use one queue and count to print level by level
src/com/interview/tree/TreeTraversalLevelByLevel.java