Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 74ae6c9

Browse files
Solve leetcode 94 and 102
1 parent 72b2994 commit 74ae6c9

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Question: https://leetcode.com/problems/binary-tree-inorder-traversal/
2+
3+
# Definition for a binary tree node.
4+
class TreeNode:
5+
def __init__(self, val=0, left=None, right=None):
6+
self.val = val
7+
self.left = left
8+
self.right = right
9+
10+
########################
11+
## RECURSIVE SOLUTION ##
12+
########################
13+
14+
class Solution:
15+
def inorderHelper(self, curr_node, traversal):
16+
if curr_node is None:
17+
return
18+
19+
self.inorderHelper(curr_node.left, traversal)
20+
traversal.append(curr_node.val)
21+
self.inorderHelper(curr_node.right, traversal)
22+
23+
def inorderTraversal(self, root: TreeNode):
24+
traversal = []
25+
self.inorderHelper(root, traversal)
26+
return traversal
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Question: https://leetcode.com/problems/binary-tree-level-order-traversal/
2+
3+
# Definition for a binary tree node.
4+
class TreeNode:
5+
def __init__(self, val=0, left=None, right=None):
6+
self.val = val
7+
self.left = left
8+
self.right = right
9+
10+
11+
class Solution:
12+
def levelOrder(self, root: TreeNode):
13+
if root is None:
14+
return []
15+
16+
curr_nodes = [root] # Nodes in the current level of the tree
17+
18+
traversal = [] # The final answer to return
19+
20+
while len(curr_nodes) > 0:
21+
next_nodes, curr_level = [], []
22+
23+
# For each node in the current level of the tree...
24+
for node in curr_nodes:
25+
# If a left child exists
26+
if node.left:
27+
next_nodes.append(node.left)
28+
# If a right child exists
29+
if node.right:
30+
next_nodes.append(node.right)
31+
32+
curr_level.append(node.val)
33+
34+
# Set the next level of nodes to traverse through
35+
curr_nodes = next_nodes
36+
37+
# Add values of the current level to the final answer
38+
traversal.append(curr_level)
39+
40+
return traversal

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /