Если вы посмотрите на определение веревки в Википедии:
A rope is a binary tree where each leaf (end node) holds a string and a length (also known as a "weight"), and each node further up the tree holds the sum of the lengths of all the leaves in its left subtree
Почему веревка для строк заканчивалась данными только на конечных узлах?
Есть ли причина, по которой вы, например, не будете использовать avl и хранить строки в каждом узле дерева?