LeetCode刷题:反转字符串中的单词(day4)
题目描述:
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
示例 1:
输入: “Let’s take LeetCode contest”
输出: “s’teL ekat edoCteeL tsetnoc”
注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。
注释详细在代码中,话不多说 Show me the code
/**
* @ClassName: ReverseWords
* @Description: 反转字符串中的单词
* @author:xiaobing
* @date 2019年5月13日
*/
public class ReverseWords {
public static void main(String[] args) {
//测试用例
String str="If we ca'n only encou'nter each other";
System.out.println(reverseWords(str));
}
public static String reverseWords(String s) {
//根据字符串对字符串进行切割
String[] split = s.split(" ");
int n=split.length;
//声明一个StringBuilder
StringBuilder sb;
String str="";
//对切割后的字符串进行反转
for (int i = 0; i < n; i++) {
sb = new StringBuilder(split[i]);
if(i<n-1) {
//翻转后的单词加空格
str = str+sb.reverse().toString()+" ";
}else {
//最后一个单词不加空格
str = str+sb.reverse().toString();
}
}
return str;
}
}
执行结果:
耗时与内存: