Распечатка иерархии меню - PullRequest
       11

Распечатка иерархии меню

1 голос
/ 25 февраля 2020

Мне дан набор строк (путей к пунктам меню), которые выглядят так:

/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
....

Любые идеи о том, как избавиться от этой проблемы?

...