**Problem Statement:** You are given an integer. Your task is to replace all the zeros in the integer with ones.

**Examples:**

Example 1:Input:N = 102003Output:112113Explanation:The 2nd,4th and 5th position from left contain 0.The resultant integer has replaced the 0’s in those positions with 1.Example 2:Input:204Output:214Explanation:The 2nd position from left contain 0. The resultant integer has replaced the 0 in that position with 1.

**Solution**

** Disclaimer**:

*Don’t jump directly to the solution, try it out yourself first.*

**Solution :**

**Approach**:

Maintain a variable and, store the modified integer. Initialize it to 0. Another variable tmp is used which is initialized to 1.

**Procedure:-**

- Isolate the last digit, say d from the number using % operator. If d is 0 make d’s value 1 else the digit remains as it is.
- Use the formula ans = tmp*d+ ans to form the number.
- Divide the original integer by 10 to discard the last digit.
- Multiply tmp with 10.
- Repeat step 1-4 till input integer > 0.

**Dry run:**

**Code:**

## C++ Code

```
#include <iostream>
using namespace std;
int replaceZerosWithOnes(int num) {
if (num == 0) {
return 1;
}
int ans = 0, tmp = 1;
while (num > 0) {
int d = num % 10;
if (d == 0) {
d = 1;
}
ans = d * tmp + ans;
num = num / 10;
tmp = tmp * 10;
}
return ans;
}
int main() {
int n = 204;
int result = replaceZerosWithOnes(n);
cout << "After replacing zeros with ones " << n << " becomes " << result;
}
```

**Output:**

After replacing zeros with ones 204 becomes 214

**Time Complexity: O(N)** where N is the number of digits in input integer

**Space Complexity: O(1)**

## Java Code

```
public class Main {
static int replaceZerosWithOnes(int num) {
if (num == 0) {
return 1;
}
int ans = 0, tmp = 1;
while (num > 0) {
int d = num % 10;
if (d == 0) {
d = 1;
}
ans = d * tmp + ans;
num = num / 10;
tmp = tmp * 10;
}
return ans;
}
public static void main(String[] args) {
int n = 204;
int result = replaceZerosWithOnes(n);
System.out.println("After replacing zeros with ones " + n + " becomes " + result);
}
}
```

**Output:**

After replacing zeros with ones 204 becomes 214

**Time Complexity: O(N)** where N is the number of digits in input integer

**Space Complexity: O(1)**

Special thanks toplease check out this articlefor contributing to this article on takeUforward. If you also wish to share your knowledge with the takeUforward fam,Somparna Chakrabarti