def suffixes(self, prefix): state = State(self) state.walk(prefix) it = Iterator(state) while it.next(): key = it.key() if key: yield key
def leafs(self, prefix): for suffix in self.suffixes(prefix): key = prefix + suffix state = State(self) state.walk(key) # after deletion state not changed # if state.is_single(): # yield key # so we are testing leaf with other method if not any(self.suffixes(key)): yield key