
2026-03-18:移除十进制表示中的所有零。用go语言,给定一个正整数 n,把它的十进制表示中出现的所有“0”字符删掉,返回剩下数字拼成的新整数。
输入一个正整数 n,去除其十进制形式里的所有零,输出去零后的数值。
对正整数 n,剔除表示中的所有 0 位,返回由剩余数字组成的整数。
1 <= n <= 1000000000000000。
输入: n = 1020030。
输出: 123。
解释:
从 1020030 中移除所有的零后,得到 123。
题目来自力扣3726。
• 总的时间复杂度为 O(log₁₀ n),即 n 的十进制位数,因为循环次数与位数成正比。
• 总的额外空间复杂度为 O(1),只用了固定几个整型变量,与输入规模无关。
.
package main
import (
"fmt"
)
func removeZeros(n int64) (ans int64) {
pow10 := int64(1)
for ; n > 0; n /= 10 {
d := n % 10
if d > 0 {
ans += d * pow10
pow10 *= 10
}
}
return
}
func main() {
n := int64(1020030)
result := removeZeros(n)
fmt.Println(result)
}

.
# -*-coding:utf-8-*-
def remove_zeros(n: int) -> int:
ans = 0
pow10 = 1
while n > 0:
d = n % 10
if d > 0:
ans += d * pow10
pow10 *= 10
n //= 10
return ans
def main():
n = 1020030
result = remove_zeros(n)
print(result)
if __name__ == "__main__":
main()
.
#include <iostream>
long long removeZeros(long long n) {
long long ans = 0;
long long pow10 = 1;
while (n > 0) {
long long d = n % 10;
if (d > 0) {
ans += d * pow10;
pow10 *= 10;
}
n /= 10;
}
return ans;
}
int main() {
long long n = 1020030;
long long result = removeZeros(n);
std::cout << result << std::endl;
return0;
}

·
我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。
·