为了账号安全,请及时绑定邮箱和手机立即绑定

使用递归反转字符串

使用递归反转字符串

泛舟湖上清波郎朗 2023-11-01 20:58:59
我正在尝试反转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);    }但上面的函数正在转换good morning成gninrom doog. 我的代码适用于每个字符,我如何让它适用于单词。任何提示或指南/解释将不胜感激。我已经回答过这个问题但没有解决我的问题
查看完整描述

2 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

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


public static String reverse(String str) {

   int space = str.indexOf(" ");

   return space == -1 ? str : reverse(str.substring(space + 1)) + " " + str.substring(0, space);

}


查看完整回答
反对 回复 2023-11-01
?
森林海

TA贡献2011条经验 获得超2个赞

这可能不是最有效的方法,但它确实有效:


public static String reverse(String s) {

    String[] wordList;

    wordList = s.split(" ");

    String reverseWordList = "";


    for (int i = 1; i <= wordList.length; i++) {

        reverseWordList += wordList[wordList.length - i] + " ";

    }


    reverseWordList = reverseWordList.trim();

    return reverseWordList;

}



查看完整回答
反对 回复 2023-11-01
  • 2 回答
  • 0 关注
  • 85 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信