【发布时间】:2016-02-19 14:09:09
【问题描述】:
我编写了一个程序来反转字符串中的单词。 如果 i/p 是“狗在追” 那么o/p应该是“追是狗”
public class String_reverse {
public static void main(String[] args) {
String input= "The dog is chasing";
String[] arr= input.split(" ");
String reverse="";
for(int i=arr.length-1;i>=0;i--)
{
reverse+= ((reverse.equals(""))?"":" ")+arr[i];
}
System.out.println(reverse);
}
}
但我不知道如何使用递归编写这个程序。当我尝试在 stackoverflow 中搜索时,我可以找到反转字符串;但不反转字符串中的单词。
【问题讨论】:
-
先从一般的角度考虑它,而不是专门考虑 Java。在任何给定的递归调用中,您都有一个当前单词和句子的其余部分。你会怎么做?你会显示当前的单词,然后做剩下的句子吗?或者是其他东西?当然,当您用完单词(或最后一个单词)时,您需要注意这种情况。
-
没有。它不是重复的。在那个问题中,他们正在反转一个字符串。例如:你好 olleH
-
@SethuramanSrinivasan 这是是一样的,只是你附加了第一个单词,而不是第一个字符,并且带有一个空格分隔符。
-
@Andreas 你如何子串一个数组?