首页
编程语言

分类

当前位置: 天天编程网 > 技术新闻 > 编程语言 >正文

LeetCode 2544[交替数字和]

更新时间:2024-11-08  作者:佚名   来源: 网络转载

LeetCode 2544[交替数字和]

题目

链接

LeetCode 2544[交替数字和]

详情

LeetCode 2544[交替数字和]

实例

LeetCode 2544[交替数字和]

提示

LeetCode 2544[交替数字和]

题解

思路

依次求出各位数字,然后进行计算

循环找出各位数字:(循环体如下)

  将数字对10取余得到对应位数的数字,加入到容器 numVec

  数字除以10,得到新的数字,此数字是不包含已获取数字的位数

循环退出的条件:数字等于0

循环退出后 numVec 按照下标由小到大,存储着数字的位数由低到高

 

定义一个布偶型变量 isPos,作为其符号是否是正号的标志位:

  true 为正号,即加上此数值

  false为负号,即减去此数值

从容器最后一个元素往前遍历,即从高位往低位遍历,isPos 初始值为 true

每次遍历后 isPos 均取反

对各位数字求和最后返回

代码

class Solution {
public:
    int alternateDigitSum(int n) {
        
        vector<int> numVec;

        while (n)
        {
            numVec.push_back(n % 10);
            n /= 10;
        }

        bool isPos = true;
        int iRet = 0;
        
        for (int i = numVec.size() - 1; i >= 0; i--)
        {
            if (isPos)
                iRet += numVec.at(i);
            else
                iRet -= numVec.at(i);
            
            isPos = !isPos;
        }

        return iRet;
    }
};
上一篇:LeetCode 2535[数组元素和与数字和的绝对差值] 下一篇:Java面试之Java中实现多线程有几种方法
小编推荐
快速导航更多>>
JavaScript 教程 HTML5 教程 CSS3 教程 jQuery 教程 Vue.js 教程 Node.js 教程 SQL 教程 C 教程 PHP 教程 Linux 教程 Docker 教程 Nginx 教程 Python 教程 Java 教程

天天编程网 版权所有

陕ICP备2023002928号-1