真棒!
- 首先看结果
执行用时 :9 ms, 在所有 Java 提交中击败了99.27%的用户
内存消耗 :39.4 MB, 在所有 Java 提交中击败了5.14%的用户 - 解题思路
- 我们可以看到题目中让我们用整数的方法求解,那么我们就应该想到了求余。
- 题目中输入负数一定不是回文数,这一点我们直接就看到负数,就不要计算了。
- 我在过程中提交出现的错误也是很小白,我没有把传入进来的x保存起来,造成后面计算时候,x的值变化了,但我if判断里面还用x来比较。更变态的是,我开始时候判断居然用res和temp来对比。。。罪过啊
- 看了6ms和8ms的代码,我觉得他们的更简洁,return 就不是true和false,而是在return那里判断。慢慢学习。
class Solution {
public boolean isPalindrome(int x) {
int res = 0;
int temp = 0;
int x_init = x;
while(x>0){
temp = res * 10 + x%10;
x = x/10;
res = temp;
}
if((res != x_init) || (res < 0))
{
return false;
}
return true;
}
}
记录一下自己第一次完全靠自己解出来的leetcode题目,虽然题目很简单,但我真的很开心。这是我学习的第三道leetcode题目,但这是第一道自己做出来的。后面一定会更多的。