@@ -0,0 +1,975 @@
+class Solution %7B%0A    public List%3CList%3CInteger%3E%3E levelOrder(TreeNode root) %7B%0A        List%3CList%3CInteger%3E%3E ans = new ArrayList%3C%3E();%0A        Queue%3CTreeNode%3E q = new LinkedList%3C%3E();%0A        if (root != null) %7B%0A            q.offer(root);%0A        %7D%0A        TreeNode cur;%0A        while (!q.isEmpty()) %7B%0A            int size = q.size();%0A            List%3CInteger%3E subAns = new LinkedList%3CInteger%3E();%0A            for (int i = 0; i %3C size; ++i) %7B        // traverse nodes in the same level%0A                cur = q.poll();%0A                subAns.add(cur.val);                // visit the root%0A                if (cur.left != null) %7B%0A                    q.offer(cur.left);              // push left child to queue if it is not null%0A                %7D%0A                if (cur.right != null) %7B%0A                    q.offer(cur.right);             // push right child to queue if it is not null%0A                %7D%0A            %7D%0A            ans.add(subAns);%0A        %7D%0A        return ans;%0A    %7D%0A%7D%0A

Create BinaryTreeLevelTraversal.java