From bb47074bdda3f1a502b782d979442a30554179e5 Mon Sep 17 00:00:00 2001 From: bt3gl <138340846+bt3gl-cryptographer@users.noreply.github.com> Date: Tue, 8 Aug 2023 14:58:11 -0700 Subject: [PATCH] Delete bt_find_duplicate_subtrees.py --- trees/bt_find_duplicate_subtrees.py | 32 ----------------------------- 1 file changed, 32 deletions(-) delete mode 100644 trees/bt_find_duplicate_subtrees.py 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