Leetcode9 Palindromic Number
Posted chason95
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode9 Palindromic Number相关的知识,希望对你有一定的参考价值。
这道题比较简单,首先的思路肯定是得到一个数组,追求简单就使用了java的API,将之转化为char数组了。
class Solution { public boolean isPalindrome(int x) { if (x<0) return false; char[] nums = String.valueOf(x).toCharArray(); for(int i=0;i<nums.length/2;i++) { if(nums[i]!=nums[nums.length-i-1]) return false; } return true; } }
117ms,67.12%。
如果用自己写的循环可能会更快。但是有个问题,如果想得到转换后的int数组,我们需要先循环一遍,以得到int的位数,然后再循环一遍对比是否回文。
然后,这个数字如果回文,那么把他reverse了也依然是原数字,于是,就可以不先循环,直接得到reverse后的数字数组然后对比判断即可。
class Solution { public boolean isPalindrome(int x) { if (x < 0) { return false; } int origin = x; int reversed = 0; while (x != 0) { reversed = reversed * 10 + x % 10; x /= 10; } return reversed == origin; } }
79ms。
以上是关于Leetcode9 Palindromic Number的主要内容,如果未能解决你的问题,请参考以下文章