Skip to content

Commit 4e65a2f

Browse files
committed
Remove Element
1 parent 77b712b commit 4e65a2f

File tree

2 files changed

+39
-1
lines changed

2 files changed

+39
-1
lines changed

src/main.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,5 @@ mod three_sum;
3030
mod three_sum_closest;
3131
mod letter_combinations_of_a_phone_number;
3232
mod valid_parentheses;
33-
mod remove_duplicates_from_sorted_array;
33+
mod remove_duplicates_from_sorted_array;
34+
mod remove_element;

src/remove_element.rs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/// @number 27
2+
/// @title Remove Element
3+
/// @url https://leetcode.com/problems/remove-element/
4+
/// @difficulty easy
5+
6+
7+
struct Solution;
8+
9+
impl Solution {
10+
pub fn remove_element(nums: &mut Vec<i32>, val: i32) -> i32 {
11+
let mut index = 0;
12+
while index < nums.len() {
13+
if nums[index] == val {
14+
nums.remove(index);
15+
}else{
16+
index += 1;
17+
}
18+
}
19+
nums.len() as i32
20+
}
21+
}
22+
23+
24+
#[cfg(test)]
25+
mod test {
26+
use crate::remove_element::Solution;
27+
28+
#[test]
29+
fn test1() {
30+
assert_eq!(2, Solution::remove_element(&mut vec![3,2,2,3], 3));
31+
}
32+
33+
#[test]
34+
fn test2() {
35+
assert_eq!(5, Solution::remove_element(&mut vec![0,1,2,2,3,0,4,2], 2));
36+
}
37+
}

0 commit comments

Comments
 (0)