File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ /**
2+ * Definition for a binary tree node.
3+ * public class TreeNode {
4+ * int val;
5+ * TreeNode left;
6+ * TreeNode right;
7+ * TreeNode() {}
8+ * TreeNode(int val) { this.val = val; }
9+ * TreeNode(int val, TreeNode left, TreeNode right) {
10+ * this.val = val;
11+ * this.left = left;
12+ * this.right = right;
13+ * }
14+ * }
15+ */
16+
17+ /*
18+ 1. ๋ฌธ์ ์ดํด
19+
20+ ์
๋ ฅ๋ฐ์ ์ด์งํธ๋ฆฌ๋ฅผ insertํ๊ณ root ๋
ธ๋๋ฅผ ๋ฐํ
21+
22+ 2. ์๊ณ ๋ฆฌ์ฆ
23+
24+ invert ํ๋ ๋ฉ์๋๋ฅผ ๋ง๋ค์ด์ dfs ๋ก leaf ๋
ธ๋๊ฐ Null ์ผ๋๊น์ง ๋ฐ๋ณตํ์
25+
26+ 3. ์์ธ
27+
28+ 4. ๊ตฌํ
29+
30+ dfs๋ก ๊ตฌํ
31+ dfs ์์ ๋
ธ๋๋ฅผ ์
๋ ฅ๋ฐ๊ณ
32+ ์ข์ฐ๊ฐ null ์ธ์ง ํ๋จ
33+ null ์ด๋ผ๋ฉด return
34+ ์๋๋ฉด ์ข์ฐ๋ฅผ Invert ์ํจ ๋ค ๋ค์ dfs ํธ์ถ
35+
36+ ๋์ณค๋ ๋ถ๋ถ: ์ฒ์ root ๋
ธ๋์ ๋ํด์ Invert๋ฅผ ํ์ง ์์๋ค.
37+
38+
39+ */
40+ class Solution {
41+ public TreeNode invertTree (TreeNode root ) {
42+ if (root == null ) {
43+ return root ;
44+ }
45+ dfs (invert (root ));
46+
47+ return root ;
48+ }
49+
50+ public void dfs (TreeNode node ) {
51+ if (node == null ) {
52+ return ;
53+ }
54+ if (node .left != null ) {
55+ dfs (invert (node .left ));
56+ }
57+
58+ if (node .right != null ) {
59+ dfs (invert (node .right ));
60+ }
61+ }
62+
63+ public TreeNode invert (TreeNode node ) {
64+ TreeNode tmp ;
65+ tmp = node .left ;
66+ node .left = node .right ;
67+ node .right = tmp ;
68+
69+ return node ;
70+ }
71+ }
72+
You canโt perform that action at this time.
0 commit comments