首页 > 代码库 > Reverse Words in a String

Reverse Words in a String

https://oj.leetcode.com/problems/reverse-words-in-a-string/

Given an input string, reverse the string word by word.

For example,
Given s = "the sky is blue",
return "blue is sky the".

public class Solution {    public static String reverseWords(String s) {        String[] strs = s.split(" ");        String str = "";        for (int i = strs.length; i > 0; i--) {            if (!strs[i - 1].trim().equals("")) {                str += strs[i - 1].trim() + " ";            }        }        return str.trim();    }}

解题思路:

首先trim s,去除开始就有的首尾空格,然后用空格将其split为数组。再倒序,最后trim首尾的空格。

其他思路的解法较多:

例如先倒置整个s,然后从头开始倒置每个单词(遇到空格),再处理头尾的空格和中间的空格。

也可以使用stack的方法,推进去,再取出来。

Reverse Words in a String