leetcode 刷题记:9. 回文数
刚一看题目,我还以为是回族文字,然而并不是,意思是正读和反读都相同的字符序列。
有趣的是,回文也是一种汉语语法。看下面就知道是什么了:
1 |
|
反过来读:
1 |
|
偏题了,来看看题目
问题描述
给你一个整数 x
,如果 x
是一个回文整数,返回 true
;否则,返回 false
。
1 |
|
解题思路
还是和第七题一样,可以把数字转字符串,再进行操作。
方法一
既然是回文数,那只要使用下面的方法反转字符串,然后和之前的对比,两者相等就是回文了。
代码:
1 |
|
方法二
这样写算法题像是作弊?而且用这么多内置方法,大概会被问怎么实现reverse()
。那用遍历吧。
代码:
1 |
|
方法三
还有没有更 hack 的方法?前面第 n 位与倒数第 n 位对比,完全相同也可证明是回文数。
代码:
1 |
|
这里巧妙的避开了数字长度是单数和双数的问题,因为后指针(下标)不会和前指针(下标)相同。
leetcode 刷题记:9. 回文数
https://bubao.github.io/posts/34b3ee0f.html