Hi Leute hab wieder mal ein kleines Problem,
ich verstehe einfach nicht wie das mit dem Umschreiben von iterativen in rekkrusive Schleifen funktioneiert.
Hab eine Aufgabe bekommen in der es um Palindrome (Wörter wie z.B. OTTO oder RENTNER, heißt man kann diese Wörter von links nach rechts oder von rechts nach links lesen ohne das sie ihre Bedeutung verlieren. ) geht.
Die iterative Lösung hab ich schon deklariert, jedoch muss ich diese auch rekrusiv verfassen. Dies ist nun mein Problem!
Falls mir jemand weiter Helfen kann, würd ich sehr dankbar sein.
Im vorraus Danke, Gruß ED
ich verstehe einfach nicht wie das mit dem Umschreiben von iterativen in rekkrusive Schleifen funktioneiert.
Hab eine Aufgabe bekommen in der es um Palindrome (Wörter wie z.B. OTTO oder RENTNER, heißt man kann diese Wörter von links nach rechts oder von rechts nach links lesen ohne das sie ihre Bedeutung verlieren. ) geht.
Die iterative Lösung hab ich schon deklariert, jedoch muss ich diese auch rekrusiv verfassen. Dies ist nun mein Problem!
Falls mir jemand weiter Helfen kann, würd ich sehr dankbar sein.
Im vorraus Danke, Gruß ED
Code:
public class Palindrom {
public static boolean isPalindrom(char a[]) {
int k = a.length/2;
for (int i=0; i<k; i++) {
if ( a[i] != a[a.length-1-i] ) { return false; }
}
return true;
}
public static boolean isPalindromRekursiv(char a[]){
int i = 0;
if (a[i] != a[a.length-i]) return false;
else
return isPalindromRekursiv(a);
}
}
public class PalindromTest {
public static void main(String args[]) {
char a[] = args[0].toCharArray();
System.out.println("ist-" +
(Palindrom.isPalindrom(a) ? "" : "kein-") +
"palindrom");
System.out.println("ist-" +
(Palindrom.isPalindromRekursiv(a) ? "" : "kein-") +
"palindrom");
}
}