void build(List<List<Integer>> result, int lvl, TreeNode node) {
		int n = result.size();
		List<Integer> lvlList;
		if (lvl > n - 1) {
			lvlList = new ArrayList<Integer>();
			lvlList.add(node.val);
			result.add(lvlList);
		} else {
			lvlList = result.get(lvl);
			lvlList.add(node.val);
		}
		if (node.left != null)
			build(result, lvl + 1, node.left);
		if (node.right != null)
			build(result, lvl + 1, node.right);

	}