2024.5.8 晚20.01,今天中午吃教师食堂,有牛肉、鱿鱼、辣子鸡,真的好开心。下午尝试南区新开的一家,太咸了,总体一般。散步回到实验室,听听歌,又开始刷下一题。
1、题目需求
2、解题思路
以前学c不好好学这些,荒废了四年,似乎有一些思路,但是又像没有打通的任督二脉,无从下手,遂看题解。还是先不看啦,我看了一下示例,有思路啦。就是倒叙后看与原始元素是否相等,相等即return true,反之return false。
3、代码展示
public boolean isPalindrome(int x) {
int a = x%10;
int b = x/10%10;
int c = x/100%10;
int sum = a + b + c ;
if(sum == x){
return true;
}else{
return false;
}
}
哈哈,看我搞笑的代码,真的想笑,首先就根据示例的121就只将三位数写死,其次就是类型转换不会,没考虑负数情况, 完全不具备健壮性。亏了我考研还是考的数据结构,只会点理论,实践一塌糊涂。也导致一志愿被刷,走了调剂。
ok,言归正传,我看了GPT的解释,重新写:
public boolean isPalindrome(int x) {
if(x < 0){
return false;
}
int og = x;
int reverse = 0;
while(x != 0){
int digit = x % 10;
reverse = reverse * 10 +digit;
x /= 10;
}
return og == reverse;
}