字符串反轉(zhuǎn)

給定一個字符串,逐個翻轉(zhuǎn)字符串中的每個單詞俄精。

示例:

輸入: "the sky is blue",
輸出: "blue is sky the".

說明:

無空格字符構(gòu)成一個單詞婆赠。
輸入字符串可以在前面或者后面包含多余的空格浴麻,但是反轉(zhuǎn)后的字符不能包括够吩。
如果兩個單詞間有多余的空格比然,將反轉(zhuǎn)后單詞間的空格減少到只含一個。

進階: 請選用C語言的用戶嘗試使用 O(1) 空間復(fù)雜度的原地解法周循。

    //1.翻轉(zhuǎn)
    //2.按單詞反轉(zhuǎn)
    void reverseWords(string &s) {
        //強行頭部加空格方便統(tǒng)一處理
        s.insert(0, 1, ' ');
        reverse(s.begin(), s.end());
        int len = s.size();
        //搜索的位置
        int search = 0;
        //搜索的當前單詞的長度
        int cnt_word = 0;
        //搜索的當前單詞的起始位置
        int start_word = 0;
        while( search < len ){
            //在單詞有效范圍內(nèi)
            if(s[search] != ' ') ++search, ++cnt_word;
            //在單詞邊界
            else{
                if(cnt_word != 0){
                    //翻轉(zhuǎn)單詞
                    reverse(s.begin() + start_word, s.begin() + start_word + cnt_word);
                    //去除多余的空格
                    search++;
                    while(search < len && s[search] == ' ') s.erase(s.begin() + search);
                    //設(shè)置下一個單詞搜索的初始位置和長度
                    start_word = search;
                    cnt_word = 0;
                }
                //可以去除原字符串中開頭和尾巴可能存在的連續(xù)空格
                else s.erase(s.begin() + start_word);
            }
        }
        //去除空格最后一個單詞附帶的空格
        s.pop_back();
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末强法,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子湾笛,更是在濱河造成了極大的恐慌饮怯,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,835評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嚎研,死亡現(xiàn)場離奇詭異蓖墅,居然都是意外死亡,警方通過查閱死者的電腦和手機临扮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評論 2 383
  • 文/潘曉璐 我一進店門论矾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人杆勇,你說我怎么就攤上這事贪壳。” “怎么了蚜退?”我有些...
    開封第一講書人閱讀 156,481評論 0 345
  • 文/不壞的土叔 我叫張陵闰靴,是天一觀的道長。 經(jīng)常有香客問我钻注,道長蚂且,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,303評論 1 282
  • 正文 為了忘掉前任幅恋,我火速辦了婚禮杏死,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘捆交。我一直安慰自己识埋,他們只是感情好,可當我...
    茶點故事閱讀 65,375評論 5 384
  • 文/花漫 我一把揭開白布零渐。 她就那樣靜靜地躺著窒舟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪诵盼。 梳的紋絲不亂的頭發(fā)上惠豺,一...
    開封第一講書人閱讀 49,729評論 1 289
  • 那天,我揣著相機與錄音风宁,去河邊找鬼洁墙。 笑死,一個胖子當著我的面吹牛戒财,可吹牛的內(nèi)容都是我干的热监。 我是一名探鬼主播,決...
    沈念sama閱讀 38,877評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼饮寞,長吁一口氣:“原來是場噩夢啊……” “哼孝扛!你這毒婦竟也來了列吼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,633評論 0 266
  • 序言:老撾萬榮一對情侶失蹤苦始,失蹤者是張志新(化名)和其女友劉穎寞钥,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體陌选,經(jīng)...
    沈念sama閱讀 44,088評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡理郑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,443評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了咨油。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片您炉。...
    茶點故事閱讀 38,563評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖役电,靈堂內(nèi)的尸體忽然破棺而出赚爵,到底是詐尸還是另有隱情,我是刑警寧澤宴霸,帶...
    沈念sama閱讀 34,251評論 4 328
  • 正文 年R本政府宣布囱晴,位于F島的核電站,受9級特大地震影響瓢谢,放射性物質(zhì)發(fā)生泄漏畸写。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,827評論 3 312
  • 文/蒙蒙 一氓扛、第九天 我趴在偏房一處隱蔽的房頂上張望枯芬。 院中可真熱鬧,春花似錦采郎、人聲如沸千所。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽淫痰。三九已至,卻和暖如春整份,著一層夾襖步出監(jiān)牢的瞬間待错,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評論 1 264
  • 我被黑心中介騙來泰國打工烈评, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留火俄,地道東北人。 一個月前我還...
    沈念sama閱讀 46,240評論 2 360
  • 正文 我出身青樓讲冠,卻偏偏與公主長得像瓜客,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,435評論 2 348

推薦閱讀更多精彩內(nèi)容