回文数新手容易踩着的坑

新手容易踩着的回文数的坑:如果采用数字逆序之后再比较的方法,容易产生在转换过程中数值超过int型的上下限。
对于此种回文数的处理可以优化的方法:对数字的一半进行逆序处理,如果处理后与另一半的数字相等,则可以证明此数字是回文数。
现在的问题是,我们如何知道反转数字的位数已经达到原始数字位数的一半?
首先我们可以知道回文数的数字一定是奇数位,那么我们可以将原始数字除以 10,然后给反转后的数字乘上 10,所以,当原始数字小于反转后的数字时,就意味着我们已经处理了一半位数的数字。
复杂度分析:
时间复杂度:O(log10 (n))。
空间复杂度:O(1)。

猜你喜欢

转载自blog.csdn.net/weixin_46610759/article/details/105920580
今日推荐