blog

博客

View on GitHub

判断一个整数是否是回文数。不能使用辅助空间。

一些提示:

负整数可以是回文数吗?(例如 -1)

如果你打算把整数转为字符串,请注意不允许使用辅助空间的限制。

你也可以考虑将数字颠倒。但是如果你已经解决了 “颠倒整数” 问题的话,就会注意到颠倒整数时可能会发生溢出。你怎么来解决这个问题呢?

本题有一种比较通用的解决方式。


解法一 利用颠倒整数的方式

package main

import (
	"fmt"
	"math"
)

func main() {
	res := isPalindrome(123321)
	fmt.Println(sum)
}

func isPalindrome(x int) bool {
	if x > -1 {
		if x == reverse(x) {
			return true
		}
	}
	return false
}

/*
* 整数颠倒函数
 */
func reverse(x int) int {
	num := 0
	for x != 0 {
		num = (num*10 + x%10)
		x = x / 10
		if num < math.MinInt32 || num > math.MaxInt32 {
			return 0
		}
	}

	return num