翻转字符串里的单词
解法一:字符串遍历
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class LeetCode_151 {
public static String reverseWords(String s) {
if (s == null || s.length() == 0 || s.trim().length() == 0) {
return "";
}
List<String> words = new ArrayList<>();
s = s.trim();
StringBuilder curWord = new StringBuilder();
char lastChar = ' ';
for (int i = 0; i < s.length(); i++) {
char curChar = s.charAt(i);
if (curChar == ' ' && lastChar == ' ') {
continue;
} else if (curChar == ' ' && lastChar != ' ') {
words.add(curWord.toString());
curWord = new StringBuilder();
lastChar = ' ';
} else if (curChar != ' ' && lastChar == ' ') {
curWord.append(curChar);
lastChar = curChar;
} else if (curChar != ' ' && lastChar != ' ') {
curWord.append(curChar);
lastChar = curChar;
}
}
words.add(curWord.toString());
Collections.reverse(words);
return String.join(" ", words);
}
public static void main(String[] args) {
System.out.println(reverseWords(" Alice does not even like bob "));
}
}