java - 这个Java回文解决方案有效吗?它不使用字符串或字符方法
问题描述
这是我看到的解决方案:
package com.philippemoisan;
public class Main {
public static void main(String[] args) {
System.out.println(isPalindrome(-212));
}
public static boolean isPalindrome(int number) {
int reverse = 0;
int initNumber = number;
while (number != 0) {
int lastDigit = number % 10;
reverse = reverse * 10;
reverse +=lastDigit;
number/=10;
}
if (initNumber == reverse) {
return true;
}
return false;
}
}
我知道这里有回文解决方案,但我的 Java 课程还没有那么远。所以,我只想知道我在这里发布的解决方案是否有效,或者使用我提供的线程链接中的解决方案会更好。
解决方案
链接答案的解决方案更有效,因为如果单词不是回文,它不会遍历整个数字/单词。
即使第一步可以检测到第一个和最后一个数字/字符不相同,您提供的解决方案也会遍历整个数字/单词。
推荐阅读
- postgresql - Cloud SQL Postgres 标志:cloudsql.iam_authentication?
- asp.net - 没有 Roslyn 你能有多行字符串吗?
- javascript - 这些在 React 中使用三元运算符有条件地应用内联样式的方式在性能上是否有任何差异?
- oracle - 在授予 CONNECT 权限后在 ORACLE 18c ORA-04045 中创建用户错误
- amazon-web-services - 安装后linux中的aws-cli 2权限被拒绝错误
- apache-kafka - Kafka Streaming 任务和内部状态存储的管理
- java - 打印范围,如果缺少数字
- ssl - Solr - SOLR_SSL_KEY_STORE_PASSWORD 中带有特殊字符的密码抛出密钥库密码不正确
- python - 通过python改变simulink(Matlab)的常量块
- c++ - 如何降低这个子串回文的时间复杂度?