双指针
简介
双指针是数组解题中的一种重要方式,常用于遍历解决问题,
定义一快一慢两个指针可以在一个for循环里做到两个for循环做到的事
例题
题解
class Solution {
public int removeElement(int[] nums, int val) {
int j = nums.length - 1;
for (int i = 0; i <= j; i++) {
if (nums[i] == val) {
swap(nums, i--, j--);
}
}
return j + 1;
}
void swap(int[] nums, int i, int j) {
int tmp = nums[i];
nums[i] = nums[j];
nums[j] = tmp;
}
}