java - 如何编写一个将字符串作为参数并返回该字符串的递归方法?

标签 java

您可以假设参数字符串是非空的、不为空的,并且不包含任何空格或标点符号。

这是我到目前为止的代码 我想你可能首先要反转它所以我试着反转至少一半但显然你可以告诉我我不知道我在做什么以及你会如何写这个递归地。

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/

相关文章:

java - 不使用 lambda 实现 `IntegerMath addition` 和 `IntegerMath subtraction` 吗?

java - 如何检查参数是否为 varArgs

java - 如何在java中将字符串设置为日期数据类型

java - Libgdx/Java : After converting GPS to pixelcoordinates, 路由旋转90°

java - 更改CharacterRun的字体类型

java - Android:包含标题和副标题的列表项的默认布局

java - `org.junit.runner.JUnitCore` 是如何找到 `java` 的?

java - 如何从java类访问servlet变量

java - 简单的笛卡尔坐标计算器

java - Swing Timer 滴答声不稳定,不规则