Skip to content

Commit b136683

Browse files
authored
feat: add js solution to lcci problem: No.17.12 (doocs#2622)
1 parent 1309578 commit b136683

File tree

3 files changed

+54
-0
lines changed

3 files changed

+54
-0
lines changed

lcci/17.12.BiNode/README.md

+19
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,25 @@ func convertBiNode(root *TreeNode) *TreeNode {
157157
}
158158
```
159159

160+
```js
161+
const convertBiNode = root => {
162+
const dfs = root => {
163+
if (!root) {
164+
return;
165+
}
166+
dfs(root.left);
167+
prev.right = root;
168+
root.left = null;
169+
prev = root;
170+
dfs(root.right);
171+
};
172+
const dummy = new TreeNode(0);
173+
let prev = dummy;
174+
dfs(root);
175+
return dummy.right;
176+
};
177+
```
178+
160179
<!-- tabs:end -->
161180

162181
<!-- end -->

lcci/17.12.BiNode/README_EN.md

+19
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,25 @@ func convertBiNode(root *TreeNode) *TreeNode {
154154
}
155155
```
156156

157+
```js
158+
const convertBiNode = root => {
159+
const dfs = root => {
160+
if (!root) {
161+
return;
162+
}
163+
dfs(root.left);
164+
prev.right = root;
165+
root.left = null;
166+
prev = root;
167+
dfs(root.right);
168+
};
169+
const dummy = new TreeNode(0);
170+
let prev = dummy;
171+
dfs(root);
172+
return dummy.right;
173+
};
174+
```
175+
157176
<!-- tabs:end -->
158177

159178
<!-- end -->

lcci/17.12.BiNode/Solution.js

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
const convertBiNode = root => {
2+
const dfs = root => {
3+
if (!root) {
4+
return;
5+
}
6+
dfs(root.left);
7+
prev.right = root;
8+
root.left = null;
9+
prev = root;
10+
dfs(root.right);
11+
};
12+
const dummy = new TreeNode(0);
13+
let prev = dummy;
14+
dfs(root);
15+
return dummy.right;
16+
};

0 commit comments

Comments
 (0)