Skip to content

Commit 8ca640d

Browse files
committed
feat: add rust solution to lc problem: No.0386
No.0386.Lexicographical Numbers
1 parent 29d2d0e commit 8ca640d

File tree

3 files changed

+67
-0
lines changed

3 files changed

+67
-0
lines changed

solution/0300-0399/0386.Lexicographical Numbers/README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,30 @@ func lexicalOrder(n int) []int {
138138
}
139139
```
140140

141+
### **Rust**
142+
143+
```rust
144+
impl Solution {
145+
fn dfs(mut num: i32, n: i32, res: &mut Vec<i32>) {
146+
if num > n {
147+
return;
148+
}
149+
res.push(num);
150+
for i in 0..10 {
151+
Self::dfs(num * 10 + i, n, res);
152+
}
153+
}
154+
155+
pub fn lexical_order(n: i32) -> Vec<i32> {
156+
let mut res = vec![];
157+
for i in 1..10 {
158+
Self::dfs(i, n, &mut res);
159+
}
160+
res
161+
}
162+
}
163+
```
164+
141165
### **...**
142166

143167
```

solution/0300-0399/0386.Lexicographical Numbers/README_EN.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,30 @@ func lexicalOrder(n int) []int {
121121
}
122122
```
123123

124+
### **Rust**
125+
126+
```rust
127+
impl Solution {
128+
fn dfs(mut num: i32, n: i32, res: &mut Vec<i32>) {
129+
if num > n {
130+
return;
131+
}
132+
res.push(num);
133+
for i in 0..10 {
134+
Self::dfs(num * 10 + i, n, res);
135+
}
136+
}
137+
138+
pub fn lexical_order(n: i32) -> Vec<i32> {
139+
let mut res = vec![];
140+
for i in 1..10 {
141+
Self::dfs(i, n, &mut res);
142+
}
143+
res
144+
}
145+
}
146+
```
147+
124148
### **...**
125149

126150
```
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
impl Solution {
2+
fn dfs(mut num: i32, n: i32, res: &mut Vec<i32>) {
3+
if num > n {
4+
return;
5+
}
6+
res.push(num);
7+
for i in 0..10 {
8+
Self::dfs(num * 10 + i, n, res);
9+
}
10+
}
11+
12+
pub fn lexical_order(n: i32) -> Vec<i32> {
13+
let mut res = vec![];
14+
for i in 1..10 {
15+
Self::dfs(i, n, &mut res);
16+
}
17+
res
18+
}
19+
}

0 commit comments

Comments
 (0)