2544.交替数字和
【LetMeFly】2544.交替数字和
力扣题目链接:https://leetcode.cn/problems/alternating-digit-sum/
给你一个正整数 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 <= 109
方法一:模拟
首先将数字转为字符串,从下标0开始遍历字符串的每一位:
- 如果当前下标是偶数,就加上这一位
- 否则,就减去这一位(加上$-1\times 这一位$)
最终返回累加的和即可
- 时间复杂度$O(\log n)$
- 空间复杂度$O(\log n)$
AC代码
C++
1 |
|
Python
1 |
|
同步发文于CSDN,原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/131673485
2544.交替数字和
https://blog.letmefly.xyz/2023/07/12/LeetCode 2544.交替数字和/