美文网首页
【竞赛题】6296. 交替数字和

【竞赛题】6296. 交替数字和

作者: 程序员小2 | 来源:发表于2023-01-21 10:54 被阅读0次

    题目

    给你一个正整数 n 。n 中的每一位数字都会按下述规则分配一个符号:

    最高有效位 上的数字分配到 正 号。
    剩余每位上数字的符号都与其相邻数字相反。
    返回所有数字及其对应符号的和。

    示例 1:

    输入:n = 521
    输出:4
    解释:(+5) + (-2) + (+1) = 4
    示例 2:

    输入:n = 111
    输出:1
    解释:(+1) + (-1) + (+1) = 1
    示例 3:

    输入:n = 886996
    输出:0
    解释:(+8) + (-8) + (+6) + (-9) + (+9) + (-6) = 0

    提示:

    1 <= n <= 10^9

    java代码:

    class Solution {
        public int alternateDigitSum(int n) {
            List<Integer> list = new ArrayList<>();
            while(n>0) {
                list.add(n%10);
                n /=10;
            }
            
            int sum = 0;
            int flag = 1;
            for(int i=list.size()-1;i>=0;i--) {
                sum+=(flag*list.get(i));
                flag = -flag;
            }
    
            return sum;
        }
    }
    

    相关文章

      网友评论

          本文标题:【竞赛题】6296. 交替数字和

          本文链接:https://www.haomeiwen.com/subject/gejhhdtx.html