← All problems

2544. Alternating Digit Sum

EasyOpen on LeetCodeProblem statement

Problem Statement

2544. Alternating Digit Sum

Easy


You are given a positive integer n. Each digit of n has a sign according to the following rules:

Return the sum of all digits with their corresponding sign.

 

Example 1:

Input: n = 521
Output: 4
Explanation: (+5) + (-2) + (+1) = 4.

Example 2:

Input: n = 111
Output: 1
Explanation: (+1) + (-1) + (+1) = 1.

Example 3:

Input: n = 886996
Output: 0
Explanation: (+8) + (-8) + (+6) + (-9) + (+9) + (-6) = 0.

 

Constraints:

 

C++

Source file
class Solution {
public:
    int alternateDigitSum(int n) {
        int ans = 0, sign = 1; 
        while (n) {
            sign *= -1; 
            ans += n % 10 * sign; 
            n /= 10; 
        }
        return ans * sign; 
    }
};