import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param s string字符串
     * @return string字符串
     */
    public static String reverseWords (String s) {
        // write code here
        LinkedList<String> linkedList = new LinkedList<>();
        StringBuffer stringBuffer = new StringBuffer();
        stringBuffer.append(s + " ");
        StringBuilder string = new StringBuilder();
        for (int i = 0; i < stringBuffer.length(); i++) {
            if (stringBuffer.charAt(i) != ' ' && stringBuffer.charAt(i + 1) == ' ') {
                string.append(stringBuffer.charAt(i));
                linkedList.add(string.toString());
                string = new StringBuilder();
            } else if (stringBuffer.charAt(i) != ' ' && stringBuffer.charAt(i + 1) != ' ') {
                string.append(stringBuffer.charAt(i));
            }
        }

        StringBuffer result = new StringBuffer();
        for (int i = linkedList.size() - 1; i >= 0; i--) {
            result.append(linkedList.get(i) + " ");
        }
        return result.substring(0, result.length() - 1);
    }
}

本题考察字符串常用函数的应用,所用编程语言是java。

我们可以在原字符串后加入一个空格字符,然后判断当前不是空格后一个是空格作为一个字符串结束的标志,最后我们将所有字符串位置逆转