Skip to content

Commit 621c6d8

Browse files
authored
Merge pull request #2275 from rivkode/main
[rivkode] WEEK 10 solutions
2 parents 2644f06 + 21e4c3a commit 621c6d8

1 file changed

Lines changed: 72 additions & 0 deletions

File tree

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
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+

0 commit comments

Comments
ย (0)