作者:小迅
链接:https://leetcode.cn/problems/alternating-digit-sum/solutions/2341276/mo-ni-zhu-shi-chao-ji-xiang-xi-by-xun-ge-7fjq/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
题目
示例
思路
题意 -> 给定一个数字,将数字按位分解,按最高位取 +,之后 + - 交替计算,返回最后所得值
将数字转换为字符串,从头开始遍历,按照最高位取 + ,之后 + - 交替 计算每一位。
最后返回结果即可,其中对于 - 号的计算,可以转换为 + (- ),防止 - 号判断。文章来源:https://www.toymoban.com/news/detail-557615.html
代码注释超级详细文章来源地址https://www.toymoban.com/news/detail-557615.html
代码
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)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
到了这里,关于LeetCode·每日一题·2544. 交替数字和·模拟的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!