用递归逆转一串单词

AHF*_*AHF 0 java recursion

我正在尝试在Java中反转完整字符串

例如,Good morning因此输出应返回morning good

我尝试了以下功能

public static String reverse(String s)
    {
        if (s.isEmpty())
            return s;
        //int n = 0;
        return reverse(s.substring(1)) + s.charAt(0);

    }
Run Code Online (Sandbox Code Playgroud)

但是上述功能正在转换good morninggninrom doog。我的代码适用于每个字符,如何使其适用于文字。任何提示或指南/解释将不胜感激。

我已经去过这个问题,但没有解决我的问题

更新:

在@snr答案和@NathanHughes注释的帮助下尝试以下代码

public static String reverse(String s)
    {
        int s1 = s.indexOf(" ");


        if (s1 != -1) 
        {
         return reverse(s.substring(s1+1)) + s.substring(0,s1);
        }
        else
        {
            return "-1";
        }
    }
Run Code Online (Sandbox Code Playgroud)

但是输出是

-1good
Run Code Online (Sandbox Code Playgroud)

snr*_*snr 6

首先,您需要知道空格在哪里。

public static String reverse(String str) {
   int space = str.indexOf(" ");
   return space == -1 ? str : reverse(str.substring(space + 1)) + " " + str.substring(0, space);
}
Run Code Online (Sandbox Code Playgroud)