题目描述:
给你一个正整数 n 。n 中的每一位数字都会按下述规则分配一个符号:
·最高有效位 上的数字分配到 正 号。
·剩余每位上数字的符号都与其相邻数字相反。
返回所有数字及其对应符号的和。
示例:
解题思路:
通过计算正整数的位数实现从最高位到个位逐位的计算。
代码附上:
class Solution {
public int alternateDigitSum(int n) {
int sum=0,x=0;
for(int i=num(n);i>=0;i--) {
sum+=n/(int)Math.pow(10,i)*(int)Math.pow(-1,x);
x++;
n=n%(int)Math.pow(10,i);
}
return sum;
}
public int num(int n) {
int i=0;
while(n>9) {
n=n/10;
i++;
}
return i;
}
}