rustgym/leetcode/
_27_remove_element.rs1struct Solution;
2
3impl Solution {
4 fn remove_element(nums: &mut Vec<i32>, val: i32) -> i32 {
5 let n: usize = nums.len();
6 let mut size: usize = 0;
7 for i in 0..n {
8 if nums[i] != val {
9 nums[size] = nums[i];
10 size += 1;
11 }
12 }
13 size as i32
14 }
15}
16
17#[test]
18fn test() {
19 let mut nums = vec![3, 2, 2, 3];
20 let val = 3;
21 assert_eq!(Solution::remove_element(&mut nums, val), 2);
22 let mut nums = vec![0, 1, 2, 2, 3, 0, 4, 2];
23 let val = 2;
24 assert_eq!(Solution::remove_element(&mut nums, val), 5);
25}