您可以假设参数字符串是非空的、不为空的,并且不包含任何空格或标点符号。
这是我到目前为止的代码 我想你可能首先要反转它所以我试着反转至少一半但显然你可以告诉我我不知道我在做什么以及你会如何写这个递归地。
public static String reverseString(String s) {
return new (StringBuffer(s).reverse().toString()/2);
}
SO 示例:如果字符串是“abcde”,它应该返回“cbdae” 如果字符串是“pq”则返回“pq” 如果字符串是“321123”则返回“112233”
我该如何实现?
最佳答案
在写递归方法时,需要注意以下2个方面
- 终止逻辑
- 重复逻辑
对于您当前的问题,终止情况将是字符串为空或只有 1 个字符。在这两种情况下,返回的值都是字符串本身。
在您的案例中,重复的逻辑是您的字符串的第一个字母需要在字符串其余部分的反向之后附加。
关于java - 如何编写一个将字符串作为参数并返回该字符串的递归方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9763766/