2010-08-06 4 views
-6

Comment testez-vous si une chaîne donnée est un palindrome en Java, sans utiliser de méthodes qui le font pour moi?Comment déterminez-vous si une chaîne est un palindrome?

+7

La communauté est vraiment pas ici pour vous donner code complet. Montre-nous ce que tu as essayé et nous t'aiderons. Aussi cela me semble devoir faire mes devoirs, mais je ne vais pas encore le taguer. –

+0

Qu'est-ce que cela signifie "sans utiliser d'API?" Si cela signifie ce que je pense que cela signifie, alors ce problème est impossible. – emory

Répondre

6
String palindrome = "..." // from elsewhere 
boolean isPalindrome = palindrome.equals(new StringBuilder(palindrome).reverse().toString()); 
+1

Je suppose que "sans utiliser d'API" signifie: sans utiliser par exemple 'StringBuilder.reverse()'. – Jesper

0

La solution de Noel est réellement meilleure. Mais si elle est pour les devoirs, vous voudrez peut-être faire ceci:

public static boolean isPalindrome(String word) { 
    int left = 0; 
    int right = word.length() -1; 

    while (left < right) { 
     if (word.charAt(left) != word.charAt(right)) 
      return false; 

     left++; 
     right--; 
    } 

    return true; 
} 
5
public boolean checkPalindrome(string word){ 

for(int i=0 ; i < word.length()/2;i++) 
{ 
    if(word.charAt(i) ! = word.charAt(word.length()-1-i)) 

     return false; 
} 

return true; 
} 
0

Java en place check palindrome:

public static final boolean isPalindromeInPlace(String string) { 
    char[] array = string.toCharArray(); 
    int length = array.length-1; 
    int half = Math.round(array.length/2); 
    char a,b; 
    for (int i=length; i>=half; i--) { 
     a = array[length-i]; 
     b = array[i]; 
     if (a != b) return false; 
    } 
    return true; 
} 
-2
String str="iai"; 

StringBuffer sb=new StringBuffer(str); 
String str1=sb.reverse().toString(); 
if(str.equals(str1)){ 
    System.out.println("polindrom"); 
} else { 
    System.out.println("not polidrom"); 
} 
+1

-1 Exactement la même réponse que Noel. –

Questions connexes