LeetCode·每日一题·2544. 交替数字和·模拟

作者:小迅
链接:https://leetcode.cn/problems/alternating-digit-sum/solutions/2341276/mo-ni-zhu-shi-chao-ji-xiang-xi-by-xun-ge-7fjq/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

题目

示例

思路

题意 -> 给定一个数字,将数字按位分解,按最高位取 +,之后 + - 交替计算,返回最后所得值

        将数字转换为字符串,从头开始遍历,按照最高位取 + ,之后 + - 交替 计算每一位。

        最后返回结果即可,其中对于 - 号的计算,可以转换为 + (- ),防止 - 号判断。

        代码注释超级详细

代码


int alternateDigitSum(int n){
    char ans[30] = {0};
    sprintf(ans, "%d", n);//转换为字符串模拟
    int len = strlen(ans);
    int sum = 0;
    int flag = 1;//记录当前+,-
    for (int i = 0; i < len; ++i) {
        sum += ((ans[i] - '0')) * flag;//累加并对符号进行转换
        flag *= -1;//转换符号
    }
    return sum;
}

作者:小迅
链接:https://leetcode.cn/problems/alternating-digit-sum/solutions/2341276/mo-ni-zhu-shi-chao-ji-xiang-xi-by-xun-ge-7fjq/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自blog.csdn.net/m0_64560763/article/details/131686971