Ваш insert
выполняет следующие действия:
Если localroot имеет значение null, ничего не предпринимайте (хорошо, вы устанавливаете две локальные переменные как одинаковые, но в целом это запрещено) Если ваш localroot не являетсяnull, вы устанавливаете его левое поддерево в узел для каждого '.'вы найдете и правильное поддерево для каждого '-' вы найдете.
Я не знаю, каков ваш начальный "localroot", но предполагается, что это (не нулевой) узел, представляющий пустую строку Морзе, после вставки "A", то есть ".-", вашего корнябудет иметь двух дочерних элементов «A» и «A» (один и тот же объект узла), а затем будет заменен на «B», затем на «C», «D», а затем на «E», что будет устанавливать только левоеподдерево ...