From 89e13a5a39c38b1b2cac56690a76e543df3f0563 Mon Sep 17 00:00:00 2001 From: Jiawen ZHU Date: Wed, 25 Jan 2023 00:43:44 +0100 Subject: [PATCH] j1&j2 --- Problems/01-Same-Tree/same_tree.py | 14 ++++++++++++++ Problems/02-Symmetric-Tree/symmetric_tree.py | 19 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 Problems/01-Same-Tree/same_tree.py create mode 100644 Problems/02-Symmetric-Tree/symmetric_tree.py diff --git a/Problems/01-Same-Tree/same_tree.py b/Problems/01-Same-Tree/same_tree.py new file mode 100644 index 0000000..ecb6812 --- /dev/null +++ b/Problems/01-Same-Tree/same_tree.py @@ -0,0 +1,14 @@ +# Definition for a binary tree node. +# class TreeNode: +# def __init__(self, val=0, left=None, right=None): +# self.val = val +# self.left = left +# self.right = right +class Solution: + def isSameTree(self, p, q) -> bool: + if not p and not q: + return True + if p and q and p.val == q.val: + return self.isSameTree(p.left,q.left) and self.isSameTree(p.right,q.right) + else: + return False \ No newline at end of file diff --git a/Problems/02-Symmetric-Tree/symmetric_tree.py b/Problems/02-Symmetric-Tree/symmetric_tree.py new file mode 100644 index 0000000..5496d70 --- /dev/null +++ b/Problems/02-Symmetric-Tree/symmetric_tree.py @@ -0,0 +1,19 @@ +# Definition for a binary tree node. +# class TreeNode: +# def __init__(self, val=0, left=None, right=None): +# self.val = val +# self.left = left +# self.right = right +class Solution: + def isSymmetric(self, root) -> bool: + return self.isMirror(root,root) + + def isMirror(self,p1,p2) ->bool: + if p1 is None and p2 is None: + return True + if p1 and p2 and p1.val == p2.val: + return self.isMirror(p1.left,p2.right) and self.isMirror(p1.right,p2.left) + else: + return False + + \ No newline at end of file