博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
回文数(Go,LeetCode)
阅读量:4189 次
发布时间:2019-05-26

本文共 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/

你可能感兴趣的文章
关于在openstack的环境变量.bashrc自定自己简化命令
查看>>
Openstack Heat Project介绍(转)
查看>>
How to Perform an Upgrade from Icehouse to Juno(ice升级到juno)
查看>>
高扩展性网站的50条原则(转)-思维导图
查看>>
解决openstack novnc一段时间后自动挂断登录不上问题,novncproxy dead but pid file exists
查看>>
构建OpenStack的云基础架构:ManageIQ(转)
查看>>
云管理软件 ManageIQ(转)
查看>>
CentOS 7.0,启用iptables防火墙(转)
查看>>
DISCUZ浅析之COOKIE篇
查看>>
实战DDD(Domain-Driven Design领域驱动设计:Evans DDD)
查看>>
SSH中各个框架的作用以及Spring AOP,IOC,DI详解
查看>>
openstack juno 配置vmware(vcenter、vsphere)
查看>>
远程debug调试(eclipse)之openstack windows
查看>>
PAAS平台对比:OpenShift VS CloudFoundry【51CTO调研报告】
查看>>
JAX-RS(java restful实现讲解)(转)
查看>>
Spring MVC与JAX-RS比较与分析
查看>>
openstack官方docker介绍
查看>>
头痛与早餐
查看>>
[转]在ASP.NET 2.0中操作数据::创建一个数据访问层
查看>>
Linux命令之chmod详解
查看>>