У меня есть список объектов, которые содержат список объектов одного типа.Например,
List[CustomObject(objName, List[CustomObject])]
В настоящее время у меня есть программа, которая объединяет эти CustomObject
в один список.Тем не менее, они содержат все возможные «пути списка».Я хочу иметь возможность удалить определенные пути, если они уже были указаны в более длинном пути.
List(CustomObject("obj-1", List(CustomObject("obj-2", List(CustomObject("obj-3", List())))))
Программа выводит все возможные пути.Например, он выведет в тот же список
[obj-1 -> obj-2 ->obj-3,
obj-1 -> obj-2]
Я хочу иметь возможность удалить obj-1 -> obj2
, поскольку путь уже указан.Но я бы хотел сохранить этот путь, если дальше по пути будут находиться разные дети.Например, следующее - желаемый вывод , где я бы предпочел сохранить путь.По сути, я хочу, чтобы пути были уникальными
[obj-1 -> obj-2-A -> obj -3,
obj-1 -> obj-2-B -> obj-4]
Требование: все объекты будут вложены в один список, а не в отдельные списки.
Это было трудно объяснить, поэтому я прошу прощения, если это трудно понять.
РЕДАКТИРОВАТЬ: В настоящее время я удаляю любые подпункты, которые не являются самыми длинными.Однако я не сохраняю желаемый результат, потому что не знаю, как проверить, является ли путь полностью уникальным от начала до конца.Если он не уникален от начала до конца и весь путь является подпуть другого пути, то я хочу удалить его.