Skip to content

Navigation Menu

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

Appearance settings

Commit ce06bc7

Browse filesBrowse files
Create 2385.py
1 parent ecf3ada commit ce06bc7
Copy full SHA for ce06bc7

File tree

1 file changed

+37
-0
lines changed
Filter options

1 file changed

+37
-0
lines changed

‎2001-2500/2385.py

Copy file name to clipboard
+37Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
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 amountOfTime(self, root: Optional[TreeNode], start: int) -> int:
9+
def dfs(node):
10+
if node is None:
11+
return
12+
if node.left:
13+
graph[node.val].append(node.left.val)
14+
graph[node.left.val].append(node.val)
15+
if node.right:
16+
graph[node.val].append(node.right.val)
17+
graph[node.right.val].append(node.val)
18+
dfs(node.left)
19+
dfs(node.right)
20+
21+
graph = defaultdict(list)
22+
dfs(root)
23+
visited = set()
24+
queue = deque([start])
25+
time = -1
26+
27+
while queue:
28+
time += 1
29+
for _ in range(len(queue)):
30+
current_node = queue.popleft()
31+
visited.add(current_node)
32+
for neighbor in graph[current_node]:
33+
if neighbor not in visited:
34+
queue.append(neighbor)
35+
36+
return time
37+

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.