From ea99a8108ee423916b56e4a696401d398fa3d0ee Mon Sep 17 00:00:00 2001 From: Deven <63876261+devenperez@users.noreply.github.com> Date: Sun, 21 May 2023 22:17:14 -0400 Subject: [PATCH] Time: 0 ms (100.00%), Space: 41.5 MB (21.47%) - LeetHub --- 27-remove-element/27-remove-element.java | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 27-remove-element/27-remove-element.java diff --git a/27-remove-element/27-remove-element.java b/27-remove-element/27-remove-element.java new file mode 100644 index 0000000..6bc3146 --- /dev/null +++ b/27-remove-element/27-remove-element.java @@ -0,0 +1,23 @@ +class Solution { + public int removeElement(int[] nums, int val) { + if (nums.length == 0) { + return 0; + } + + int backIndex = nums.length - 1; + for (int i = 0; i < backIndex; ++i) { + if (nums[i] == val) { + while (nums[backIndex] == val) { + backIndex--; + if (backIndex == i) { + return nums[backIndex] == val ? backIndex : backIndex + 1; + } + } + nums[i] = nums[backIndex]; + nums[backIndex] = val; + backIndex--; + } + } + return nums[backIndex] == val ? backIndex : backIndex + 1; + } +} \ No newline at end of file