File tree Expand file tree Collapse file tree 1 file changed +39
-6
lines changed
Expand file tree Collapse file tree 1 file changed +39
-6
lines changed Original file line number Diff line number Diff line change 11"""
22Constraints:
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+
You canโt perform that action at this time.
0 commit comments