Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 2e8ca32

Browse files
feat: update rust solution to lc problem: No.106 (#2362)
1 parent 4d6c701 commit 2e8ca32

File tree

4 files changed

+20
-27
lines changed

4 files changed

+20
-27
lines changed

‎solution/0100-0199/0106.Construct Binary Tree from Inorder and Postorder Traversal/README.md‎

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,6 @@ impl Solution {
249249
d.insert(inorder[i], i);
250250
}
251251
fn dfs(
252-
inorder: &[i32],
253252
postorder: &[i32],
254253
d: &HashMap<i32, usize>,
255254
i: usize,
@@ -259,13 +258,13 @@ impl Solution {
259258
if n <= 0 {
260259
return None;
261260
}
262-
let v = postorder[j + n - 1];
263-
let k = *d.get(&v).unwrap();
264-
let l = dfs(inorder, postorder, d, i, j, k - i);
265-
let r = dfs(inorder, postorder, d, k + 1, j + k - i, n - 1 - (k - i));
266-
Some(Rc::new(RefCell::new(TreeNode { val:v, left:l, right:r })))
261+
let val = postorder[j + n - 1];
262+
let k = *d.get(&val).unwrap();
263+
let left = dfs(postorder, d, i, j, k - i);
264+
let right = dfs(postorder, d, k + 1, j + k - i, n - 1 - (k - i));
265+
Some(Rc::new(RefCell::new(TreeNode { val, left, right })))
267266
}
268-
dfs(&inorder, &postorder, &d, 0, 0, n)
267+
dfs(&postorder, &d, 0, 0, n)
269268
}
270269
}
271270
```

‎solution/0100-0199/0106.Construct Binary Tree from Inorder and Postorder Traversal/README_EN.md‎

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,6 @@ impl Solution {
245245
d.insert(inorder[i], i);
246246
}
247247
fn dfs(
248-
inorder: &[i32],
249248
postorder: &[i32],
250249
d: &HashMap<i32, usize>,
251250
i: usize,
@@ -255,13 +254,13 @@ impl Solution {
255254
if n <= 0 {
256255
return None;
257256
}
258-
let v = postorder[j + n - 1];
259-
let k = *d.get(&v).unwrap();
260-
let l = dfs(inorder, postorder, d, i, j, k - i);
261-
let r = dfs(inorder, postorder, d, k + 1, j + k - i, n - 1 - (k - i));
262-
Some(Rc::new(RefCell::new(TreeNode { val:v, left:l, right:r })))
257+
let val = postorder[j + n - 1];
258+
let k = *d.get(&val).unwrap();
259+
let left = dfs(postorder, d, i, j, k - i);
260+
let right = dfs(postorder, d, k + 1, j + k - i, n - 1 - (k - i));
261+
Some(Rc::new(RefCell::new(TreeNode { val, left, right })))
263262
}
264-
dfs(&inorder, &postorder, &d, 0, 0, n)
263+
dfs(&postorder, &d, 0, 0, n)
265264
}
266265
}
267266
```

‎solution/0100-0199/0106.Construct Binary Tree from Inorder and Postorder Traversal/Solution.rs‎

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ impl Solution {
2727
d.insert(inorder[i], i);
2828
}
2929
fn dfs(
30-
inorder: &[i32],
3130
postorder: &[i32],
3231
d: &HashMap<i32, usize>,
3332
i: usize,
@@ -37,12 +36,12 @@ impl Solution {
3736
if n <= 0 {
3837
return None;
3938
}
40-
let v = postorder[j + n - 1];
41-
let k = *d.get(&v).unwrap();
42-
let l = dfs(inorder,postorder, d, i, j, k - i);
43-
let r = dfs(inorder,postorder, d, k + 1, j + k - i, n - 1 - (k - i));
44-
Some(Rc::new(RefCell::new(TreeNode { val: v, left: l, right: r })))
39+
let val = postorder[j + n - 1];
40+
let k = *d.get(&val).unwrap();
41+
let left = dfs(postorder, d, i, j, k - i);
42+
let right = dfs(postorder, d, k + 1, j + k - i, n - 1 - (k - i));
43+
Some(Rc::new(RefCell::new(TreeNode { val, left, right })))
4544
}
46-
dfs(&inorder,&postorder, &d, 0, 0, n)
45+
dfs(&postorder, &d, 0, 0, n)
4746
}
4847
}

‎solution/util.py‎

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,7 @@ def generate_question_readme(result):
181181
def generate_category_summary(result, category=""):
182182
"""generate category summary files"""
183183
summary_cn = (
184-
"- " + category_dict.get(category, category) + "专项练习\n\n"
185-
if category
186-
else ""
184+
"- " + category_dict.get(category, category) + "专项练习\n\n" if category else ""
187185
)
188186
summary_en = "- " + category + " Practice\n\n" if category else ""
189187
category = category.lower() if category else ""
@@ -308,9 +306,7 @@ def refresh(result):
308306
)
309307

310308
# update question content
311-
old_content = re.search(
312-
"<!-- 这里写题目描述 -->(.*?)## 解法", cn_content, re.S
313-
).group(1)
309+
old_content = re.search("<!-- 这里写题目描述 -->(.*?)## 解法", cn_content, re.S).group(1)
314310
if question.get("content_cn"):
315311
cn_content = cn_content.replace(
316312
old_content, "\n\n" + question["content_cn"] + "\n\n"

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /