0
点赞
收藏
分享

微信扫一扫

[Golang]力扣Leetcode - 9.回文数(数学)

火热如冰 2022-03-30 阅读 150

[Golang]力扣Leetcode - 9.回文数(数学)

题目:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。

回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

  • 例如,121 是回文,而 123 不是。

链接: 力扣Leetcode - 9.回文数.

示例 1:

示例 2:

示例 3:

思路:这里用比较简单的办法,在数学上如果为回文数,颠倒后的数一定和原来相等

  • 如果是负数则一定不是回文数,直接返回 false
  • 如果是正数,则将其倒序数值计算出来,然后比较和原数值是否相等
  • 如果是回文数则相等返回 true,如果不是则不相等 false

Go代码:

package main

import (
	"fmt"
)

func isPalindrome(x int) bool {
	var sum int
	first := x
	if x < 0 {
		return false
	} else {
		for x != 0 {
			a := x % 10
			x = x / 10
			sum = sum*10 + a
		}
	}
	return sum == first
}
func main() {
	fmt.Println(isPalindrome(121))
}

提交截图
在这里插入图片描述

举报

相关推荐

0 条评论