题目描述
给你一个字符串 s ,逐个翻转字符串中的所有 单词 。
单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。
请你返回一个翻转 s 中单词顺序并用单个空格相连的字符串。
说明:
输入字符串 s 可以在前面、后面或者单词间包含多余的空格。 翻转后单词间应当仅用一个空格分隔。 翻转后的字符串中不应包含额外的空格。
题解
本题应该是和【剑指offer】58. 翻转单词顺序一模一样的。
执行用时:8 ms, 在所有 Java 提交中击败了50.95%的用户
内存消耗:39.1 MB, 在所有 Java 提交中击败了5.12%的用户
class Solution {
StringBuilder res = new StringBuilder();
public String reverseWords(String s) {
String str = s.trim();
String[] strs = str.split(" ");
for (String ss : strs) {
if (ss.trim().equals(""))
continue;
StringBuilder temp = new StringBuilder(ss.trim());
res.append(" " + temp.reverse());
}
res.reverse().delete(res.length() - 1, res.length());
return res.toString();
}
}
class Solution {
StringBuilder res = new StringBuilder();
public String reverseWords(String s) {
String str = s.trim();
String[] strs = str.split(" ");
for (String ss : strs) {
if (ss.trim().equals(""))
continue;
res.insert(0, ss + " ");
}
res.delete(res.length() - 1, res.length());
return res.toString();
}
}
|