Skip to content

Commit 89d3dd6

Browse files
authored
feat: add rust solution to lc problem: No.0096 (#1726)
No.0096.Unique Binary Search Trees
1 parent 7f063a1 commit 89d3dd6

File tree

3 files changed

+49
-0
lines changed

3 files changed

+49
-0
lines changed

solution/0000-0099/0096.Unique Binary Search Trees/README.md

+18
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,24 @@ func numTrees(n int) int {
107107
}
108108
```
109109

110+
### **Rust**
111+
112+
```rust
113+
impl Solution {
114+
pub fn num_trees(n: i32) -> i32 {
115+
let n = n as usize;
116+
let mut dp = vec![0; n + 1];
117+
dp[0] = 1;
118+
for i in 1..=n {
119+
for j in 0..i {
120+
dp[i] += dp[j] * dp[i - j - 1];
121+
}
122+
}
123+
dp[n] as i32
124+
}
125+
}
126+
```
127+
110128
### **...**
111129

112130
```

solution/0000-0099/0096.Unique Binary Search Trees/README_EN.md

+18
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,24 @@ func numTrees(n int) int {
9595
}
9696
```
9797

98+
### **Rust**
99+
100+
```rust
101+
impl Solution {
102+
pub fn num_trees(n: i32) -> i32 {
103+
let n = n as usize;
104+
let mut dp = vec![0; n + 1];
105+
dp[0] = 1;
106+
for i in 1..=n {
107+
for j in 0..i {
108+
dp[i] += dp[j] * dp[i - j - 1];
109+
}
110+
}
111+
dp[n] as i32
112+
}
113+
}
114+
```
115+
98116
### **...**
99117

100118
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
impl Solution {
2+
pub fn num_trees(n: i32) -> i32 {
3+
let n = n as usize;
4+
let mut dp = vec![0; n + 1];
5+
dp[0] = 1;
6+
for i in 1..=n {
7+
for j in 0..i {
8+
dp[i] += dp[j] * dp[i - j - 1];
9+
}
10+
}
11+
dp[n] as i32
12+
}
13+
}

0 commit comments

Comments
 (0)