Skip to content

Commit ff1bf9b

Browse files
authored
Added 4 questions (#128)
101,104,108 & 129
1 parent d320415 commit ff1bf9b

4 files changed

+53
-0
lines changed

Python/101.SymetricTree.py

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
class Solution:
2+
def isSymmetric(self, root: Optional[TreeNode]) -> bool:
3+
def isMirror(left, right):
4+
if left == None and right == None:
5+
return True
6+
if left == None or right == None:
7+
return False
8+
return (left.val == right.val) and isMirror(left.right, right.left) and isMirror(left.left, right.right)
9+
return isMirror(root, root)
+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Definition for a binary tree node.
2+
# class TreeNode:
3+
# def __init__(self, val=0, left=None, right=None):
4+
# self.val = val
5+
# self.left = left
6+
# self.right = right
7+
class Solution:
8+
def maxDepth(self, root: Optional[TreeNode]) -> int:
9+
if root == None:
10+
return 0
11+
else:
12+
return max(self.maxDepth(root.left), self.maxDepth(root.right)) + 1
13+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Definition for a binary tree node.
2+
# class TreeNode:
3+
# def __init__(self, val=0, left=None, right=None):
4+
# self.val = val
5+
# self.left = left
6+
# self.right = right
7+
class Solution:
8+
def sortedArrayToBST(self, nums: List[int]) -> Optional[TreeNode]:
9+
if len(nums) == 0:
10+
return None
11+
if len(nums) == 1:
12+
return TreeNode(nums[0])
13+
mid = len(nums) // 2
14+
return TreeNode(nums[mid], self.sortedArrayToBST(nums[:mid]), self.sortedArrayToBST(nums[mid+1:]))
15+

Python/129.SumRootToLeafNumber.py

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Definition for a binary tree node.
2+
# class TreeNode:
3+
# def __init__(self, val=0, left=None, right=None):
4+
# self.val = val
5+
# self.left = left
6+
# self.right = right
7+
class Solution:
8+
def sumNumbers(self, root: Optional[TreeNode]) -> int:
9+
def dfs(node, current):
10+
if node == None:
11+
return 0
12+
current = current * 10 + node.val
13+
if node.left == None and node.right == None:
14+
return current
15+
return dfs(node.left, current) + dfs(node.right, current)
16+
return dfs(root, 0)

0 commit comments

Comments
 (0)