Мне дан набор строк (путей к пунктам меню), которые выглядят так:
/home
/about
/about/staff
/about/staff/sector1
/about/staff/sector2
/products
/products/section1
, и мне нужно распечатать их так, чтобы иерархия меню была показана следующим образом:
.home
.about
....staff
.......sector1
.......sector2
.products
....section1
Это мой код:
void printItem(int indent, String path)
{
for(int i=0; i<indent; i++)
{
System.out.print(".");
}
String [] items = null;
if(path.contains("/"))
{
items = path.split("/");
for(int i=0; i<items.length; i++)
{
System.out.println(items[i]);
printItem(indent+3, items[i]);
}
}
else
return;
}
Проблема с моим кодом состоит в том, что я не знаю, как остановить его печать одного и того же родителя несколько раз. Например, допустим, у меня есть 3 пути:
/about
/about/staff
/about/staff/sector1
В итоге я получаю такой вывод:
..about
....staff
.....about
....staff
....sector1
....
Любые идеи о том, как избавиться от этой проблемы?