修正0027.移除元素Rust語言版本

1. 根據題目須回傳i32而非&mut Vec<i32>
2. 改以Owner介紹的雙指針法解題
This commit is contained in:
YiChih Wang
2021-08-26 20:32:58 +08:00
parent 4bbd5716b4
commit 31dfca184b

View File

@ -201,19 +201,17 @@ end
```
Rust:
```rust
pub fn remove_element(nums: &mut Vec<i32>, val: i32) -> &mut Vec<i32> {
let mut start: usize = 0;
while start < nums.len() {
if nums[start] == val {
nums.remove(start);
impl Solution {
pub fn remove_element(nums: &mut Vec<i32>, val: i32) -> i32 {
let mut slowIdx = 0;
for pos in (0..nums.len()) {
if nums[pos]!=val {
nums[slowIdx] = nums[pos];
slowIdx += 1;
}
}
start += 1;
return (slowIdx) as i32;
}
nums
}
fn main() {
let mut nums = vec![5,1,3,5,2,3,4,1];
println!("{:?}",remove_element(&mut nums, 5));
}
```