LeetCode-in-Java

1317. Convert Integer to the Sum of Two No-Zero Integers

Easy

No-Zero integer is a positive integer that does not contain any 0 in its decimal representation.

Given an integer n, return a list of two integers [A, B] where:

The test cases are generated so that there is at least one valid solution. If there are many valid solutions you can return any of them.

Example 1:

Input: n = 2

Output: [1,1]

Explanation: A = 1, B = 1. A + B = n and both A and B do not contain any 0 in their decimal representation.

Example 2:

Input: n = 11

Output: [2,9]

Constraints:

Solution

public class Solution {
    public int[] getNoZeroIntegers(int n) {
        int left = 1;
        int right = n - 1;
        while (left <= right) {
            if (noZero(left) && noZero(right)) {
                return new int[] {left, right};
            } else {
                left++;
                right--;
            }
        }
        return new int[] {};
    }

    private boolean noZero(int num) {
        while (num != 0) {
            if (num % 10 == 0) {
                return false;
            } else {
                num /= 10;
            }
        }
        return true;
    }
}