美文网首页
回文数字

回文数字

作者: 韩小禹 | 来源:发表于2020-03-14 22:55 被阅读0次
package main

import "fmt"

//回文数字:数字从左往右和从右往左必须一致,否则不满足回文规则
//声明一个变量reverseNumber并赋予初始值0,用于存放得到的反转数字。
//将原始数字 %10 会得到数字的最后一个数,然后将reverseNumber*10 + 得到的反转数字
//将原始数字 /10 然后将
//循环判断,x > reverseNumber时说明没有得到原始数字长度的一半,当x<=reverseNumber时说明反转数字的长度已经达到原始数字的一半。
//得到原始数字的一半时判断x是否等于reverseNumber,或者x是否等于reverseNumber/10
func IsPalindrome(x int) bool {
    // 如果 x <= 0 ,说明不是回文数
    // 如果 x % 10 = 0,说明x的最后一个数字是0,要满足回文的要求那么第一个数字就必须是0,所有再次判断x != 0
    if x < 0 || (x%10 == 0 && x != 0) {
        return false
    }

    //用于记录回文数字
    reverseNumber := 0
    for x > reverseNumber {
        // x % 10 是为了得到x的最后一位数字
        reverseNumber = reverseNumber*10 + x%10
        //每循环一次将x/10,当x不大于reverseNubmer的时候,说明从后往前得到了原始数字的一半
        x /= 10
    }

    //两位数时,x == reverseNumber
    //三位数时,x == reverseNumber/10
    return x == reverseNumber || x == reverseNumber/10
}

func main() {
    //n := 1220
    n := 1221
    fmt.Println(IsPalindrome(n))
}

相关文章

  • 【PAT_1024】 Palindromic Number

    题目描述 非回文数字可以通过一系列操作与回文数字配对。 首先,反转非回文数字,并将结果添加到原始数字。 如果结果不...

  • 回文数字

  • leetcode

    题目:判断一个数字是否问回文数 负数不是回文数

  • Leetcode-Easy-9 Palindrome Numbe

    题目 思路 判断一个给定的数字是否是回文数字。需要注意的是,不仅奇数会出现回文数字,偶数也可以,2442,2222...

  • 9. Palindrome Number

    回文数字。要求不占用额外空间。 Code:

  • 判断回文数字

    版权声明:本文为博主原创文章,转载请注明出处。个人博客地址:https://yangyuanlin.club欢迎来...

  • 判断回文数字

    不转字符串的方式 转字符串后用双指针的形式

  • 第七周ARTS

    Algorithmic 回文数字的判断 负数不算,结尾为0的数字不算。 利用x/10得出反转后的数字,之后判断相等...

  • [leetcode] 9. Palindrome Number

    回文数字 首先 负数 ‘-x’ 肯定不是 palindrome 这题就是用 数字反转 e.g. 123 --> 3...

  • 035-判断一个字符串是否是回文

    描述 判断一个由字母、数字和空格组成的字符串是否是回文。 约束: ​ 空字符串为回文; 示例: ​ ...

网友评论

      本文标题:回文数字

      本文链接:https://www.haomeiwen.com/subject/pczoshtx.html