Witam, zadanie jest następujące:
Stwórz i przetestuj metodę rekurencyjną, która stwierdzi czy dostarczone w tablicy zmiennych typu char słowo jest palindromem.
Problem tkwi w tym, że nie wiem jak to zrobić, myślę nad tym cały dzień i szukam na internecie różnych podpowiedzi lecz zaden z pomysłów ani trochę nie przybliżył mnie do rozwiązania...
XABCDX jest palindromem wtedy i tylko wtedy gdy ABCD jest palindromem i tak w kółko (rekurencja)
Zapisz program, zgodnie z powyższym, a potem Sprawdź tutaj:
https://beginnersbook.com/2014/01/java-program-to-check-palindrome-string-using-recursion/
Dziękuję za pomoc, teraz rozumiem. Jeszcze jedno pytanie, ponieważ próbowałem zrobić to za pomocą pętli iterujac tabele od tyłu ale w żaden sposób nie moglem porównać tabeli, która wynikła z iteracji oraz tabeli od której ona powstała. Próbowałem metoda equals ale w żaden sposób mi się nie udawalo. Czy jest to wykonalne?
Da się, tylko nie rozumiem, przecież porównuje się elementy tablicy, a nie tablice, trzeba rozpisać tą rekurencję w pętli, takie same warunki:
static boolean isPalindrome(char s[]){
int l = s.length;
int i = 0;
while(i < l / 2) {
if (s[i] != s[l - (i + 1)])
return false;
i += 1;
}
return true;
}
Charles_Ray napisał(a):
XABCDX jest palindromem wtedy i tylko wtedy gdy ABCD jest palindromem i tak w kółko (rekurencja)
To zdanie jest nieprawdziwe.
Brakuje warunku na pierwszy i ostatni znak.