美文网首页程序员
翻转字符串里的单词

翻转字符串里的单词

作者: 程序员小2 | 来源:发表于2020-07-12 14:22 被阅读0次

    翻转字符串里的单词

    给定一个字符串,逐个翻转字符串中的每个单词。

    示例 1:
    输入: "the sky is blue"
    输出: "blue is sky the"

    示例 2:
    输入: " hello world! "
    输出: "world! hello"
    解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。

    示例 3:
    输入: "a good example"
    输出: "example good a"
    解释: 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。

    说明:
    无空格字符构成一个单词。
    输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。
    如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。

    进阶:
    请选用 C 语言的用户尝试使用 O(1) 额外空间复杂度的原地解法。


    java代码

    class Solution {
        public String reverseWords(String s) {
            String[] str = s.split(" ");
            int length = str.length;
            for (int i = 0; i < (length / 2+length % 2); i++) {
                String temp = str[i];
                str[i] = str[length-1-i];
                str[length-1-i] = temp;
            }
            StringBuffer sb = new StringBuffer();
            for(int i = 0 ; i < str.length ; i++){
                if(str[i].equals("")){
                    continue;
                }
                sb.append(str[i]).append(" ");
            }
            if(sb.length() != 0)
                return sb.substring(0,sb.length()-1);
            return "";
        }
    }
    

    相关文章

      网友评论

        本文标题:翻转字符串里的单词

        本文链接:https://www.haomeiwen.com/subject/rowgcktx.html