mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 08:50:15 +08:00
修正0027.移除元素Rust語言版本
1. 根據題目須回傳i32而非&mut Vec<i32> 2. 改以Owner介紹的雙指針法解題
This commit is contained in:
@ -201,19 +201,17 @@ end
|
|||||||
```
|
```
|
||||||
Rust:
|
Rust:
|
||||||
```rust
|
```rust
|
||||||
pub fn remove_element(nums: &mut Vec<i32>, val: i32) -> &mut Vec<i32> {
|
impl Solution {
|
||||||
let mut start: usize = 0;
|
pub fn remove_element(nums: &mut Vec<i32>, val: i32) -> i32 {
|
||||||
while start < nums.len() {
|
let mut slowIdx = 0;
|
||||||
if nums[start] == val {
|
for pos in (0..nums.len()) {
|
||||||
nums.remove(start);
|
if nums[pos]!=val {
|
||||||
|
nums[slowIdx] = nums[pos];
|
||||||
|
slowIdx += 1;
|
||||||
}
|
}
|
||||||
start += 1;
|
|
||||||
}
|
}
|
||||||
nums
|
return (slowIdx) as i32;
|
||||||
}
|
}
|
||||||
fn main() {
|
|
||||||
let mut nums = vec![5,1,3,5,2,3,4,1];
|
|
||||||
println!("{:?}",remove_element(&mut nums, 5));
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user