LeetCode - The World's Leading Online Programming Learning Platform
class Solution {
public void duplicateZeros(int[] arr) {
int length = arr.length;
int zeros = 0;
for (int i = 0; i < length; i++) {
if (arr[i] == 0) {
zeros++;
}
}
int lastIndex = length - 1;
int newIndex = length - 1 + zeros;
while (lastIndex >= 0) {
if (newIndex < length) {
arr[newIndex] = arr[lastIndex];
}
if (arr[lastIndex] == 0) {
newIndex--;
if (newIndex < length) {
arr[newIndex] = 0;
}
}
lastIndex--;
newIndex--;
}
}
}
class Solution {
public void duplicateZeros(int[] arr) {
int length = arr.length;
for (int i = 0; i < length ; i++)
{
if (arr[i] == 0 && i+1 < length)
{
for (int j = length - 1; j > i+1; j--)
{
int temp = arr[j-1];
arr[j] = temp;
}
arr[i+1] = 0;
i++;
}
}
}
}