首页 > 试题广场 >

回文数字

[编程题]回文数字
  • 热度指数:38707 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
在不使用额外的内存空间的条件下判断一个整数是否是回文。
回文指逆序和正序完全相同。


数据范围:
进阶: 空间复杂度 ,时间复杂度

提示:
负整数可以是回文吗?(比如-1)
如果你在考虑将数字转化为字符串的话,请注意一下不能使用额外空间的限制
你可以将整数翻转。但是,如果你做过题目“反转数字”,你会知道将整数翻转可能会出现溢出的情况,你怎么处理这个问题?
示例1

输入

121

输出

true
示例2

输入

122

输出

false
func isPalindrome( x int ) bool {
    // write code here
     if x < 0 || (x%10 == 0 && x !=0) {
        return false
    }
    revertNum := 0
    for x > revertNum {
        revertNum = revertNum*10 + x%10
        x /= 10
    }

    return x== revertNum || x == revertNum/10
}

发表于 2022-04-23 20:59:41 回复(1)