实现字符串反转
2018-02-28 17:58
218 查看
今天来看看如何实现字符串反转,比如输入Game is Over,输出Over is Game
public class Question {
public static void main(String[] args) {
String str = "Game is over adfd aaaa cccc";
System.out.println("============="+reverseStr(str));
}
private static String reverseStr(String str) {
//当前字符串
String temp = str;
StringBuilder sb = new StringBuilder();
//每个空格的位置,从后向前查找
int index = temp.lastIndexOf(" ");
//循环查找空格是否存在
while (index != -1) {
//每个空格之后的字符串
String subStr = temp.substring(index, temp.length());
sb.append(subStr);
//空格之前的字符串
String lastStr = temp.substring(0,index);
//剩下字符串中空格的位置
index = lastStr.lastIndexOf(" ");
//没有空格,说明到了最后一个单词,进行添加并且需要手动添加一个空格和前面的单词隔开
if (index == -1) {
sb.append(" ").append(lastStr);
}
temp = lastStr;
}
//除去第一个空格
sb.replace(0,1,"");
return sb.toString();
}
}
public class Question {
public static void main(String[] args) {
String str = "Game is over adfd aaaa cccc";
System.out.println("============="+reverseStr(str));
}
private static String reverseStr(String str) {
//当前字符串
String temp = str;
StringBuilder sb = new StringBuilder();
//每个空格的位置,从后向前查找
int index = temp.lastIndexOf(" ");
//循环查找空格是否存在
while (index != -1) {
//每个空格之后的字符串
String subStr = temp.substring(index, temp.length());
sb.append(subStr);
//空格之前的字符串
String lastStr = temp.substring(0,index);
//剩下字符串中空格的位置
index = lastStr.lastIndexOf(" ");
//没有空格,说明到了最后一个单词,进行添加并且需要手动添加一个空格和前面的单词隔开
if (index == -1) {
sb.append(" ").append(lastStr);
}
temp = lastStr;
}
//除去第一个空格
sb.replace(0,1,"");
return sb.toString();
}
}
相关文章推荐
- 如何实现字符串的反转及替换?
- Python 实现字符串反转的四种方法
- 巧用Array对象来实现字符串的反转
- 古娜拉黑暗之神(编程实现字符串的反转)
- 字符串反转实现
- 003实现字符串反转reverse
- “说反话”实现字符串反转
- java实现字符串反转
- 用C语言实现字符串反转函数strrev的经典方法
- java实现字符串反转
- Java实现一个字符串的反转
- 实现字符串的反转[汇总]java
- C语言来实现字符串反转 只有单词顺序反转,单词里的字母不反转
- c语言递归实现字符串反转
- php实现字符串反转输出的方法
- c++已经实现的2种字符串反转函数
- 模拟实现一个字符串的反转
- 字符串反转 c实现
- reverse()的实现字符串反转和模板reverse的实现
- C/C++面试程序题(一)——字符串反转、链表反转的递归、非递归实现