Рекурсивный палиндромный чекер - PullRequest
0 голосов
/ 13 марта 2012

Это мой код, чтобы проверить, является ли слово палиндромом, но я понятия не имею, как это начать.

Мне действительно нужна помощь с этим методом

public static boolean pallindrome (String word1) {

int count = 0;
       for (int i=0; i< s1.length(); i++){
           if(s1.length/2 = 1)
           return false;
       }
       if(count == s1.length()-1)
            return true;
    }
    return false;

Я понятия не имею, как запустить этот метод

Ответы [ 3 ]

4 голосов
/ 13 марта 2012

Ну, подумай об этом так ...

  • Если у вас есть слово, вы можете сказать некоторую информацию о том, что это палиндром, просто взглянув на его концы?
  • Как только вы посмотрите на его концы, как вы можете уменьшить проблему?
  • Как вы можете сказать, когда вы закончите?

(Попытка немного направить свои мысли, а не дать вам полное решение ...)

1 голос
/ 14 марта 2012

Я думаю, что каждый большой палиндром имеет меньший палиндром. Если вы используете эти рассуждения, то вы сможете создать рекурсивный алгоритм

0 голосов
/ 13 марта 2012

Палиндром - это слово, которое одинаково вперед и назад.Все рекурсивные проблемы нуждаются в базовом случае.В вашем примере базовый регистр - это слово длины 1. Слово длины 1 всегда будет палиндромом.

function palindrome(String s)  
{   
    if(s.length() == 1)  
    {  
        return true;
    }    
  //Your code goes here
}  

Теперь вам нужно передать palindrome постепенно меньшие строки, которые приведут к завершению функции.Вы можете использовать индексы строки, чтобы сделать ее меньше.

...