码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode Golang 9.回文数

时间:2019-01-03 21:33:29      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:pack   Golan   结果   rom   回文数   ==   pac   targe   ack   

9. 回文数

第一种办法 :itoa 转换为字符串进行处理:

package main

import (
	"strconv"
	"fmt"
)

//判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
//
//示例 1:
//
//输入: 121
//输出: true
//示例 2:
//
//输入: -121
//输出: false
//解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
//示例 3:
//
//输入: 10
//输出: false
//解释: 从右向左读, 为 01 。因此它不是一个回文数。

func main() {
	fmt.Println(isPalindrome(0))
}


func isPalindrome(x int) bool {
	if x < 0 {
		return false
	}

	if x < 10 {
		return true
	}

	arrX := strconv.Itoa(x)

	for i := 0; i < len(arrX)/2; i++ {
		if arrX[i] != arrX[len(arrX)-i-1] {
			return false
		}
	}
	return true
}

  

 

第二种办法:

纯数学, 将 输入的数字全部反过来 123->321, 再返回 == 比较结果

func isPalindrome(x int) bool {
	if x < 0{
		return false
	}
	pre := x
	rev := 0
	for x != 0{
		rev = rev * 10 + x % 10
		x /= 10
	}
	return rev == pre
}

  

LeetCode Golang 9.回文数

标签:pack   Golan   结果   rom   回文数   ==   pac   targe   ack   

原文地址:https://www.cnblogs.com/gettolive/p/10216727.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!