From 3cf34fe8b40997e8b3a51b8928ba2870c6e01cb8 Mon Sep 17 00:00:00 2001 From: idpfaff <33361000+idpfaff@users.noreply.github.com> Date: Fri, 30 Oct 2026 06:48:00 -0400 Subject: [PATCH] Fix empty-string lookup and deletion in the radix tree --- data_structures/trie/radix_tree.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/data_structures/trie/radix_tree.py b/data_structures/trie/radix_tree.py index 11e0dc23faa9..be212971907d 100644 --- a/data_structures/trie/radix_tree.py +++ b/data_structures/trie/radix_tree.py @@ -118,6 +118,9 @@ def find(self, word: str) -> bool: >>> RadixNode("myprefix").find("mystring") False """ + if word == "": + return self.is_leaf + incoming_node = self.nodes.get(word[0], None) if not incoming_node: return False @@ -147,6 +150,11 @@ def delete(self, word: str) -> bool: >>> RadixNode("myprefix").delete("mystring") False """ + if word == "": + was_present = self.is_leaf + self.is_leaf = False + return was_present + incoming_node = self.nodes.get(word[0], None) if not incoming_node: return False