Skip to content

Commit d1bded3

Browse files
committed
solve: Invert Binary Tree
1 parent d6f58e9 commit d1bded3

File tree

1 file changed

+39
-6
lines changed

1 file changed

+39
-6
lines changed
Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,47 @@
11
"""
22
Constraints:
3-
-
3+
- The number of nodes in the tree is in the range [0, 100].
4+
- -100 <= Node.val <= 100
45
5-
Time Complexity:
6-
-
6+
Time Complexity:
7+
- O(n): ๊ฐ ๋…ธ๋“œ๋ฅผ ํ•œ ๋ฒˆ์”ฉ ๋ฐฉ๋ฌธํ•จ
78
8-
Space Complexity:
9-
-
9+
Space Complexity:
10+
- O(w): w๋Š” ํŠธ๋ฆฌ์˜ ์ตœ๋Œ€ ๋„ˆ๋น„(width)
1011
1112
ํ’€์ด๋ฐฉ๋ฒ•:
12-
1.
13+
1. ํ๋ฅผ ์‚ฌ์šฉํ•œ BFS(๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰)
14+
2. FIFO(First In First Out)๋กœ ๋…ธ๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•จ
15+
3. ๊ฐ ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•  ๋•Œ๋งˆ๋‹ค:
16+
- ์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ ์ž์‹ ๋…ธ๋“œ์˜ ์œ„์น˜๋ฅผ ๊ตํ™˜
17+
- ๊ตํ™˜๋œ ์ž์‹ ๋…ธ๋“œ๋“ค์„ ํ์— ์ถ”๊ฐ€ํ•˜์—ฌ ๋‹ค์Œ ๋…ธ๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•จ
1318
"""
1419

20+
# Definition for a binary tree node.
21+
# class TreeNode:
22+
# def __init__(self, val=0, left=None, right=None):
23+
# self.val = val
24+
# self.left = left
25+
# self.right = right
26+
from collections import deque
27+
28+
class Solution:
29+
def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
30+
if not root:
31+
return None
32+
33+
queue = deque([root])
34+
35+
while queue:
36+
node = queue.popleft()
37+
38+
node.left, node.right = node.right, node.left
39+
40+
if node.left:
41+
queue.append(node.left)
42+
if node.right:
43+
queue.append(node.right)
44+
45+
return root
46+
47+

0 commit comments

Comments
ย (0)