leetcode-回文数
Problem: 9. 回文数
[TOC]
思路
看到这题的第一想法就是把数字x进行反转得到数字reverse,然后与x进行比较是否相等即可,刚开始我想的是把数字转成字符串然后使用反转函数直接反转,最后使用eqauls方法进行比较即可,但是我忘记了怎么将数字转换成String类型的字符串。后来遍知道一个数一个数字进行翻转
解题方法
由题可知x<0的时候因为含有负号,故所有小于0的数都不是回文数,直接return false即可,x>0的时候,我用一个temp表示x翻转后的数字,num用于x逐一翻转,直到num/10==0的时候说明翻转完成,得到的结果return num == x的结果即可。
但是,看了题解之后我发现其实翻转一半就行了,就算是奇数个位数,最后return reverse/10 == x即可
复杂度
时间复杂度:
O(logn)
空间复杂度:
O(1)
Code
1 |
|
题解代码
1 | class Solution { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HUT菜鸟小八的博客!
评论