File tree Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Original file line number Diff line number Diff line change 1+ from typing import Optional
2+
3+
4+ class TreeNode :
5+ def __init__ (self , val , left = None , right = None ):
6+ self .val = val
7+ self .left = left
8+ self .right = right
9+
10+
11+ """
12+ - L/R ๋
ธ๋์ ์์น ๋ณ๊ฒฝ ๋ฐ๋ณต - ์ฌ๊ท/๋ฐ๋ณต
13+ - ํธ๋ฆฌ ์ํ: ๋ฐ๋ณต๋ฌธ->BFS(Queue)
14+ 1. ํ์ ํ์ฌ ๋
ธ๋ ์ถ๊ฐ
15+ 2. ํ์์ ๋
ธ๋ ๊บผ๋
16+ 3. ๊บผ๋ธ ๋
ธ๋์ ์ผ์ชฝ<->์ค๋ฅธ์ชฝ ์์ ์์น ๋ณ๊ฒฝ
17+ 4. ์์น๋ฅผ ๋ฐ๊พผ ์์ ๋
ธ๋๋ค์ด ์๋ค๋ฉด, ๋ค์ ํ์ ์ฝ์
18+ 5. ํ๊ฐ ๋น ๋๊น์ง ๋ฐ๋ณต
19+ """
20+
21+ from collections import deque
22+
23+
24+ class Solution :
25+ def invertTree (self , root : Optional [TreeNode ]) -> Optional [TreeNode ]:
26+
27+ if not root :
28+ return
29+
30+ que = deque ([root ])
31+
32+ while que :
33+ node = que .popleft ()
34+
35+ # ๋
ธ๋์ ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ ์์ ๊ตํ
36+ node .left , node .right = node .right , node .left
37+
38+ # ๋ฐ๊พผ ์์ ๋
ธ๋๋ค์ด ์์ผ๋ฉด ํ์ ์ถ๊ฐ (ํ๋๋ง ์๊ฑฐ๋ ์๋ ๊ฒฝ์ฐ ์ฒ๋ฆฌ)
39+ if node .left :
40+ que .append (node .left )
41+ if node .right :
42+ que .append (node .right )
43+
44+ return root
You canโt perform that action at this time.
0 commit comments