Предполагая, что вам нужен список узлов для каждого уровня, это кажется правильным, за исключением:
ol.put(level,il);
В списке нет метода put (в этом случае это будет set
).
- Я бы опустил строку выше и добавил
ol.add(il)
после создания нового списка массивов для уровня.
- Я бы также передал внешний список в качестве параметра метода вместо использования переменной-члена (хотя это скорее проблема проектирования)
- После
build(root, 0)
Изменить: уточнить нет. 2:
if(ol.size() < level) {
il = new ArrayList<Node>();
ol.add(il); //add here only, assuming level = ol.size() + 1 always is true in this case
}