本文共 1075 字,大约阅读时间需要 3 分钟。
目录
判断一个整数是否是回文数。回文数是指正序(从左到右)和逆序(从右到左)都是一样的整数。
输入/输出示例
输入 | -121 |
输出 | false |
解释 | 因为-121的逆序是121-,与121不同,因此不是回文数。 |
经过观察可以判断出,负数一定不是回文数。自然数中,小于10以下的数字都是回文数。对于大于等于10以上的正整数,我们将其转换为字符串,从两端读取字符,判断其是否相等,若一直保持相等,则为回文数。
package mainimport ( "fmt" "strconv")func isPalindrome(x int) bool { if x < 0 { return false } if x >= 0 && x <= 9 { return true } sString := strconv.Itoa(x) length := len(sString) palindrome := true for i := range sString { j := length - 1 - i if i > j { break } if sString[i] != sString[j] { palindrome = false break } } return palindrome}
package mainimport ( "strconv")func isPalindrome(x int) bool { // 如果x为负数,肯定不是回文数 if x < 0 { return false } // 如果x为一位数,则肯定是回文数 if x >= 0 && x <= 9 { return true } // 将x转换为字符串,使用左右两个指针检查每位数是否相等。若其中一个不相等则跳出循环并返回false sString := strconv.Itoa(x) length := len(sString) palindrome := true for i := range sString { j := length - 1 - i if i > j { break } if sString[i] != sString[j] { palindrome = false break } } return palindrome}
转载地址:http://pdsoi.baihongyu.com/