【问题标题】:Reversing a sentence in Java without changing the character order using recursion使用递归在不更改字符顺序的情况下反转 Java 中的句子
【发布时间】:2020-02-26 02:55:51
【问题描述】:

我正在使用此代码来反转句子的顺序,但它的作用也是反转字符的顺序。在这里帮助我,这样字符就不会被颠倒,只有文字可以。 例如“猫在跑”-->“猫在跑”

public static void main(String[] args) {
    String sentence = "Cat Is Running";
    System.out.println(reverse(sentence));
}

public static String reverse(String str) {

    if(str.isEmpty())
        return str;
    else {
        return reverse(str.substring(1)) + str.charAt(0);    
    }
}

【问题讨论】:

标签: java recursion substring reverse


【解决方案1】:

试试这个:

  • 你搜索最后一个空格"Cat Is Running"
  • 在第一次迭代时SpaceIndex = 6
  • 你在"Running"的空格后面打印部分,然后调用recurive 没有那部分的相同方法 ("Cat Is")
  • 在最后一次迭代中找不到空间时,您只需输出 字符串你有什么。
public static void main(String[] args) {
   String sentence = "Cat Is Running";
   reverse(sentence);
 }

public static void reverse(String str) {
   int spaceIndex = str.lastIndexOf(" ");
   if(spaceIndex == -1){
     System.out.print(str);
     return;
   }
   System.out.print(str.substring(spaceIndex+1) + " ");
   reverse(str.substring(0,spaceIndex));
}

【讨论】:

    猜你喜欢
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 2020-07-01
    • 2011-10-20
    • 2016-10-08
    • 2020-02-22
    • 2014-06-07
    相关资源
    最近更新 更多