public static void main(String[] args) {
        /*
         *     4
         *    / \
         *   1   5
         *  / \   \
         * 2   3   7
         *      \
         *       6
         */
        TreeNode n1 = new TreeNode(1), n2 = new TreeNode(3), 
                 n3 = new TreeNode(5), r = new TreeNode(4);
        n1.left = new TreeNode(2); n1.right = n2; n2.right = new TreeNode(6);
        r.left = n1; r.right = n3; n3.right = new TreeNode(7);
        TreeNode.printTree(r);
        println();

        println("createLevelLinkedList:");
        ArrayList<LinkedList<TreeNode>> levels = createLevelLinkedList(r);
        for (LinkedList<TreeNode> level : levels) {
            for (TreeNode node : level) {
                print(node + " ");
            }
            println();
        }
        println("\ncreateLevelLinkedList2:");
        levels = createLevelLinkedList2(r);
        for (LinkedList<TreeNode> level : levels) {
            for (TreeNode node : level) {
                print(node + " ");
            }
            println();
        }
    }