博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Palindrome Number
阅读量:6241 次
发布时间:2019-06-22

本文共 805 字,大约阅读时间需要 2 分钟。

Determine whether an integer is a palindrome. Do this without extra space.

要求是不能使用额外的空间,言下之意就是不能先转化成字符串来进行处理,所以得想另外一种办法。

额外考虑负数属于回文数字?

思路:直接来截取最低位和最高位来进行比较。然后去掉最高位最低位,再进行比较,如此循环。

最高位数字=x/10(n为x的位数)

最低位数字=x%10

去掉最低位和最高位:x=x%10n/10;

特殊值考虑:x=10021

1和1符合,进而x=2,base=10000/100=100。接着left=2/100=0;right=2%10=2;所以推出不等。

所以特殊0值成立。

class Solution {public:    bool isPalindrome(int x) {        if(x<0)             return false;        if(x==0)             return true;        int base=1;        while(x/base>=10)            base*=10;        while(x)        {            int left=x/base;            int right=x%10;            if(right!=left)                return false;            x=x%base/10;            base=base/100;        }        return true;    }};

 

转载于:https://www.cnblogs.com/fightformylife/p/4072199.html

你可能感兴趣的文章
django做form表单的数据验证
查看>>
【OpenFOAM】——OpenFOAM入门算例学习
查看>>
STL UVA 11991 Easy Problem from Rujia Liu?
查看>>
模拟 URAL 1149 Sinus Dances
查看>>
Oracle 11G 数据库迁移【expdp/impdp】
查看>>
17.EXTJs 中icon 与iconCls的区别及用法!
查看>>
3.mybatis实战教程(mybatis in action)之三:实现数据的增删改查
查看>>
Caused by: Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar
查看>>
让你拥有超能力:程序员应该掌握的统计学公式
查看>>
互联网组织的未来:剖析 GitHub 员工的任性之源
查看>>
Java 开源博客 Solo 1.4.0 发布 - 简化
查看>>
Oracle巡检
查看>>
【转载】胜者树
查看>>
查看mysql数据库存放的路径|Linux下查看MySQL的安装路径
查看>>
selenium+testNG+Ant
查看>>
1024程序员节,你屯书了吗?(内含福利)
查看>>
移动端JS 触摸事件基础
查看>>
Flex拖动原来如此简单
查看>>
温故而知新:什么是wcf
查看>>
centos语言设置
查看>>