ммм, мне кажется ваше преобразование не схлопнет одинаковые теги:
если посмотреть внимательно то в исходном два набора qwe, а в результирующем они объединены.
Я тоже вначале думал что можно сделать гораздо проще — простое исключение повторяющихся соседей по оси как у вас. А потом присмотрелся к ответу — не катит.
Вообще пример забавный, но если бы вместо трехбуквенных тегов были бы просто названия, например авторы и книги — было бы ГОРАЗДО читабельней ( и гораздо легче было бы заметить несоответствие ответа).
да точно, я прогнал на примере — работает. Извините.
Просто когда писал, навскидку представлял, без проверки, как оно будет отрабатывать — неправильно представлял.
Красота — понятие субъективное, конечно.
Но проще — должен, хотя бы потому, что с вкупе с практикой я старалась давать теоретические выкладки о предназначении того или иного оператора или выражения.
Получение дерева уникальных элементов при помощи цепочного преобразования