2012-03-19 2 views
2

Вы можете предположить, что строка аргумента не является нулевой, а не пустой и не содержит пробелов или знаков препинания.Как написать рекурсивный метод, который принимает строку в качестве аргумента и возвращает эту строку наизнанку?

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

public static String reverseString(String s) { 
    return new (StringBuffer(s).reverse().toString()/2); 
} 

SO пример: если строка была «ABCDE» он должен вернуть «cbdae» если строка была «рд», а затем вернуться «рд» если строка была «321123», а затем вернуться «112233»

Как это реализовать?

+2

Это звучит как домашнее задание. если это так, вы должны отметить это как таковое. – twain249

+2

Определите «вывернутый наизнанку». –

+1

Возможный дубликат [Что лучше всего рекурсивно реверсирует строку в Java?] (Http://stackoverflow.com/questions/859562/whats-the-best-way-to-recursive-reverse-a-string-in -java) –

ответ

0

При написании рекурсивного метода, вы должны иметь в следующем 2-х аспектах

  • Нагрузочной логике
  • Повторяя логику

Для вашей нынешней проблемы, в случае нагрузочный будет что либо строка равна null или имеет только 1 символ. В обоих случаях возвращаемое значение будет самой строкой.

Повторяющаяся логика в вашем случае состоит в том, что первая буква вашей строки должна быть добавлена ​​ПОСЛЕ обратной последовательности остальной строки.

+0

Почему вы даете OP ответ? С поста это явно домашнее задание. –

+0

Я знаю. Я видел комментарии после публикации. Удалили ответ –

Смежные вопросы