diff --git a/README.md b/README.md index c24f85f..df59003 100644 --- a/README.md +++ b/README.md @@ -20,3 +20,4 @@ Profile on LeetCode: [fartem](https://leetcode.com/fartem/). | 14. Longest Common Prefix | [Link](https://leetcode.com/problems/longest-common-prefix/) | [Link](./lib/easy/longest_common_prefix.dart) | | 20. Valid Parentheses | [Link](https://leetcode.com/problems/valid-parentheses/) | [Link](./lib/easy/valid_parentheses.dart) | | 21. Merge Two Sorted Lists | [Link](https://leetcode.com/problems/merge-two-sorted-lists/) | [Link](./lib/easy/merge_two_sorted_lists.dart) | +| 27. Remove Element | [Link](https://leetcode.com/problems/remove-element/) | [Link](./lib/easy/remove_element.dart) | diff --git a/lib/easy/remove_element.dart b/lib/easy/remove_element.dart new file mode 100644 index 0000000..add482b --- /dev/null +++ b/lib/easy/remove_element.dart @@ -0,0 +1,13 @@ +// https://leetcode.com/problems/remove-element/ +class Solution { + int removeElement(List nums, int val) { + var index = 0; + for (int i = 0; i < nums.length; i++) { + if (nums[i] != val) { + nums[index] = nums[i]; + index++; + } + } + return index; + } +} diff --git a/test/easy/remove_element_test.dart b/test/easy/remove_element_test.dart new file mode 100644 index 0000000..dc84327 --- /dev/null +++ b/test/easy/remove_element_test.dart @@ -0,0 +1,13 @@ +import 'package:leetcode_dart/easy/remove_element.dart'; +import 'package:test/test.dart'; + +void main() { + group( + 'Example tests', + () { + final re = Solution(); + test('2', () => expect(2, re.removeElement([3, 2, 2, 3], 3))); + test('5', () => expect(5, re.removeElement([0, 1, 2, 2, 3, 0, 4, 2], 2))); + }, + ); +}