Я уже читал много предыдущих вопросов здесь и в других местах, но я не нашел то, что мне нужно. Мне нужно написать рекурсивную реализацию indexOf. Проблема в том, что я не могу использовать какие-либо локальные переменные и должен давать в качестве входных данных только строку и символ.
Метод должен возвращать значение от 0 до длины строки - 1, если символ был найден или -1, если его там нет. Я знаю, что фактический indexOf также позволяет вам искать строку, но этот метод упрощен.
Я пробовал это, но это довольно глупо, поскольку я использовал реальное indexOf :
public static int indexOf(String s, char c){
if(s.indexOf(c) < 0){ // I'd like to change this
return -1;
}
if (s.length() == 0) //base case #1
{
return -1;
}
else if (s.charAt(0) == c) //base case #2
{
return 0;
}
else {
return 1 + indexOf(s.substring(1), c);
}
}
Я видел это в частности, но так ли это возможность написать это без переменных? Спасибо