samedi 30 mai 2015

Rekursiv Palindrom herausfinden

Ich soll mit der Methode boolean ispalindrom(char[] arr, int i)
herausfinden, ob die Zeichenfolge im arr-Feld ein Palindrom bildet. i ist der Grenzindex, sprich die Kontrolle geht von 0 bis i im Feld arr. Für i = 0 soll das ganze Feld überprüft werden.

Meine Idee war,

if ( arr[i] == arr[0])
{
return true && ispalindrom(Arrays.copyOfRange(arr,1,i-1), i-1);

}
else
{
return false && ispalindrom(Arrays.copyOfRange(arr,1,i-1), i-1);
}

Das Problem ist allerdings, dass BlueJ jene Methode(Arrays.copyofRange) nicht kennt.

Meinen nächste Idee war:

if ( arr[i] == arr[0])
{
return true && ispalindrom(arr,i-1);
}
else
{
return false && ispalindrom(arr,i-1);
}

Mein Problem ist nur, dass bei jedem Vergleich arr[0] bei 0 bleibt. Beim nächsten Aufruf soll arr[1] kontrolliert werden.
Wie mache ich das?


Rekursiv Palindrom herausfinden

0 commentaires:

Enregistrer un commentaire