From f41011e849fb1b746906df4e8baa187d5910e02c Mon Sep 17 00:00:00 2001 From: bt3gl <138340846+bt3gl-cryptographer@users.noreply.github.com> Date: Tue, 8 Aug 2023 13:56:19 -0700 Subject: [PATCH] Update bt_is_tree_symmetric.py --- trees/bt_is_tree_symmetric.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/trees/bt_is_tree_symmetric.py b/trees/bt_is_tree_symmetric.py index b2f450b..27f3faa 100644 --- a/trees/bt_is_tree_symmetric.py +++ b/trees/bt_is_tree_symmetric.py @@ -3,7 +3,7 @@ # author: bt3gl -def is_symmetric(root: Optional[Node]) -> bool: +def is_symmetric(root) -> bool: stack = [(root, root)] @@ -14,21 +14,21 @@ def is_symmetric(root: Optional[Node]) -> bool: if (not node1 and node2) or (not node2 and node1): return False + elif node1 and node2 and node1.val != node2.val: + return False + elif not node1 and not node2: continue - elif node1 and node2 and node1.val != node2.val: - return False - stack.append([node1.left, node2.right]) stack.append([node1.right, node2.left]) return True -def is_symmetric_recursive(root: Optional[TreeNode]) -> bool: +def is_symmetric_recursive(root) -> bool: - def helper(node1, node2): + def helper(node1, node2): if (not node1 and node2) or \ (not node2 and node1) or \ (node1 and node2 and node1.val != node2.val): @@ -39,5 +39,5 @@ def is_symmetric_recursive(root: Optional[TreeNode]) -> bool: return helper(node1.left, node2.right) and helper(node2.left, node1.right) - return helper(root.left, root.right) + return helper(root.left, root.right)