Java是否为回文_java语言判断一个数字是否为回文数字
判斷一個整數(shù)是否是回文數(shù)。回文數(shù)是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數(shù)。
示例 1:
輸入: 121
輸出: true
示例?2:
輸入: -121
輸出: false
解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個回文數(shù)。
示例 3:
輸入: 10
輸出: false
解釋: 從右向左讀, 為 01 。因此它不是一個回文數(shù)。
進(jìn)階:
你能不將整數(shù)轉(zhuǎn)為字符串來解決這個問題嗎?
解法一:使用字符串反轉(zhuǎn),比較反轉(zhuǎn)前后的字符串是否相等
class Solution {
public boolean isPalindrome(int x) {
String str = String.valueOf(x);
final StringBuilder builder = new StringBuilder(str);
if(builder.reverse().toString().equals(str)){
return true;
}
return false;
}
}
解法二:不使用字符串,采用list存儲int各個位置上的變量置,然后從list兩端向中間比較數(shù)值是否相等
class Solution {
public boolean isPalindrome(int x) {
if(x<0) return false;
List list=new ArrayList();
while(x/10!=0){
list.add(x%10);
x=x/10;
}
list.add(x);
for(int i=0;i
{
if(list.get(i)!=list.get(list.size()-i-1)) return false;
}
return true;
}
}
兩種方法的耗時相近~
來源:https://www.cnblogs.com/raychou1995/p/10380944.html
總結(jié)
以上是生活随笔為你收集整理的Java是否为回文_java语言判断一个数字是否为回文数字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis将散裂中某个值自增_Redis
- 下一篇: java面试加分_不只是给面试加分 --