数组和字符串//反转字符串中的单词 III

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。

示例 1:

输入: "Let's take LeetCode contest"
输出: "s'teL ekat edoCteeL tsetnoc" 

注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。

class Solution {
    public String reverseWords(String s) {
        char[] buffer = s.toCharArray();
        int length = buffer.length;
        int left = 0, right = 0;
        boolean last;
        for(int i = 0; i < length; i++){
            last = i == length-1;
            if(buffer[i] == ' '||last){
                left = right;
                right = i-(last?0:1);
                for(;left<right;left++,right--){
                    char temp = buffer[left];
                    buffer[left] = buffer[right];
                    buffer[right] = temp;
                }
                right = i+1;
            }
        }
        return new String(buffer);
    }
}
class Solution {
public:
    string reverseWords(string s) {
        int i = 0, j = 0;
        string res;
        while(j < s.length()){
            if(j != s.length()-1){
                if(s[j] != ' ') j++;
                else{
                    for(int k = j-1; k >= i; k--) res += s[k];
                    res += ' ';
                    j++;
                    i = j;
                }
            }else{
                for(int k = j; k >= i; k--) res += s[k];
                break;
            }
        }
        return res;
    }
};

 

posted @ 2018-11-21 15:24  strawqqhat  阅读(91)  评论(0编辑  收藏  举报
#home h1{ font-size:45px; } body{ background-image: url("放你的背景图链接"); background-position: initial; background-size: cover; background-repeat: no-repeat; background-attachment: fixed; background-origin: initial; background-clip: initial; height:100%; width:100%; } #home{ opacity:0.7; } .wall{ position: fixed; top: 0; left: 0; bottom: 0; right: 0; } div#midground{ background: url("https://i.postimg.cc/PP5GtGtM/midground.png"); z-index: -1; -webkit-animation: cc 200s linear infinite; -moz-animation: cc 200s linear infinite; -o-animation: cc 200s linear infinite; animation: cc 200s linear infinite; } div#foreground{ background: url("https://i.postimg.cc/z3jZZD1B/foreground.png"); z-index: -2; -webkit-animation: cc 253s linear infinite; -o-animation: cc 253s linear infinite; -moz-animation: cc 253s linear infinite; animation: cc 253s linear infinite; } div#top{ background: url("https://i.postimg.cc/PP5GtGtM/midground.png"); z-index: -4; -webkit-animation: da 200s linear infinite; -o-animation: da 200s linear infinite; animation: da 200s linear infinite; } @-webkit-keyframes cc { from{ background-position: 0 0; transform: translateY(10px); } to{ background-position: 600% 0; } } @-o-keyframes cc { from{ background-position: 0 0; transform: translateY(10px); } to{ background-position: 600% 0; } } @-moz-keyframes cc { from{ background-position: 0 0; transform: translateY(10px); } to{ background-position: 600% 0; } } @keyframes cc { 0%{ background-position: 0 0; } 100%{ background-position: 600% 0; } } @keyframes da { 0%{ background-position: 0 0; } 100%{ background-position: 0 600%; } } @-webkit-keyframes da { 0%{ background-position: 0 0; } 100%{ background-position: 0 600%; } } @-moz-keyframes da { 0%{ background-position: 0 0; } 100%{ background-position: 0 600%; } } @-ms-keyframes da { 0%{ background-position: 0 0; } 100%{ background-position: 0 600%; } }