我正在尝试反转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);
}
森林海
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;
}
添加回答
举报
0/150
提交
取消