/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public int[] levelOrder(TreeNode root) {
if (root == null) return new int[0];
List<TreeNode> list = new ArrayList<>();
list.add(root);
int index = 0;
while (index < list.size()) {
TreeNode node = list.get(index);
if (node.left != null) list.add(node.left);
if (node.right != null) list.add(node.right);
index++;
}
int[] array = new int[list.size()];
int i = 0;
for (TreeNode node : list) {
array[i] = node.val;
i++;
}
return array;
}
}