Given an integer number n, return the difference between the product of its digits and the sum of its digits.
Example 1:
Input: n = 234
Output: 15
Explanation:
Product of digits = 2 * 3 * 4 = 24
Sum of digits = 2 + 3 + 4 = 9
Result = 24 - 9 = 15
Example 2:
Input: n = 4421
Output: 21
Explanation:
Product of digits = 4 * 4 * 2 * 1 = 32
Sum of digits = 4 + 4 + 2 + 1 = 11
Result = 32 - 11 = 21
Constraints:
1 <= n <= 10^5
public class Solution {
public int SubtractProductAndSum(int n) {
if(n==0){
return 0;
}
int sum = 0;
int product = 1;
while(n>0){
int mod = n%10;
sum+=mod;
product*=mod;
n/=10;
}
return product-sum;
}
}
Time Complexity: O(logn)
Space Complexity: O(1)
Precisely, the number of digits for integer N is logN + 1. But I agree the time complexity of this solution is O(logN),