檢查回文字符串A 回文是一個(gè)詞、短語(yǔ)、數(shù)字或其他單元序列,可以在任何方向上以相同的方式讀取。為了檢查一個(gè)單詞是否是回文,我得到單詞的char數(shù)組并比較字符。我測(cè)試過了,看起來很管用。然而,我想知道這是正確的,還是有什么需要改進(jìn)的。這是我的代碼:public class Aufg1 {
public static void main(String[] args) {
String wort = "reliefpfpfeiller";
char[] warray = wort.toCharArray();
System.out.println(istPalindrom(warray));
}
public static boolean istPalindrom(char[] wort){
boolean palindrom = false;
if(wort.length%2 == 0){
for(int i = 0; i < wort.length/2-1; i++){
if(wort[i] != wort[wort.length-i-1]){
return false;
}else{
palindrom = true;
}
}
}else{
for(int i = 0; i < (wort.length-1)/2-1; i++){
if(wort[i] != wort[wort.length-i-1]){
return false;
}else{
palindrom = true;
}
}
}
return palindrom;
}}
3 回答

人到中年有點(diǎn)甜
TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
public static boolean istPalindrom(char[] word){ int i1 = 0; int i2 = word.length - 1; while (i2 > i1) { if (word[i1] != word[i2]) { return false; } ++i1; --i2; } return true;}
例子:
word[0]
word[4]

一只萌萌小番薯
TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以通過將字符串與其本身相反的情況進(jìn)行比較來檢查字符串是否為回文:
public?static?boolean?isPalindrome(String?str)?{ ????return?str.equals(new?StringBuilder(str).reverse().toString());}
或者對(duì)于早于1.5的Java版本,
public?static?boolean?isPalindrome(String?str)?{ ????return?str.equals(new?StringBuffer().append(str).reverse().toString());}

蝴蝶刀刀
TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊
boolean isPalindrome(String str) { int n = str.length(); for( int i = 0; i < n/2; i++ ) if (str.charAt(i) != str.charAt(n-i-1)) return false; return true; }
添加回答
舉報(bào)
0/150
提交
取消