diff --git a/trees/bt_find_duplicate_subtrees.py b/trees/bt_find_duplicate_subtrees.py deleted file mode 100644 index b26d65f..0000000 --- a/trees/bt_find_duplicate_subtrees.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# author: bt3gl - -# Given the root of a binary tree, return all duplicate subtrees. - - -def find_duplicates(root: Optional[Node]) -> list[Optional[Node]]: - - result = [] - counter = {} - - def traverse(node): - if not node: - return "" - - rep = ("(" + traverse(node.left) + ")" + \ - str(node.val) + "(" + \ - traverse(node.right) + ")") - - if rep in counter: - counter[rep] += 1 - else: - counter[rep] = 1 - - if counter[rep] == 2: - result.append(node) - - return rep - - traverse(root) - return result