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 ce06bc7

Browse files
Create 2385.py
1 parent ecf3ada commit ce06bc7

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

‎2001-2500/2385.py‎

Lines 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)

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