反轉字符串里的單詞

4、反轉字符串里的單詞

給定一個字符串,逐個反轉字符串中的單詞

示例1:

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

說明:

無空格字符構成一個單詞。
輸入字符串可以在前面或者后面包含多余的空格,但是反轉后的字符不能包括。
如果兩個單詞間有多余的空格,將反轉后單詞間的空格減少到只含一個。

進階:

請選用C語言的用戶嘗試使用 O(1) 空間復雜度的原地解法。

Solution

class Solution {
public:void reverseWords(string &s) {string res;string str;int isWord=0;int wordSize=0;for(int i=s.size()-1;i>=0;i--){if(s[i]==' '){if(isWord){isWord=0;if(res.size()>0){res+=' ';}str=s.substr(i+1,wordSize);res+=str;wordSize=0;}elsecontinue;}else{if(isWord){wordSize++;if(i==0){if(res.size()>0)res+=' ';str=s.substr(0,wordSize);res+=str;}}else{isWord=1;wordSize++;if(i==0){if(res.size()>0)res+=' ';str=s.substr(0,wordSize);res+=str;}}}}s=res;}
};

思路:

主要的思路就是,用isWord標記當前字符是否是一個單詞。然后取出該單詞,放到結果中,值得注意的是當字符串為只有一個字符的字符串時的情況。代碼看上去非常臃腫,但是速度上還是令人滿吃驚的,超過了99.98%的提交。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375707.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375707.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375707.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

正整數

題目鏈接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid84077#problem/A 題目: Description A magic island Geraldion, where Gerald lives, has its own currency system. It uses banknotes of several values. But the problem is, the s…

360 webscan中防注入跨站攻擊的核心

//get攔截規則 $getfilter "\\<.javascript:window\\[.{1}\\\\x|<.*(&#\\d?;?)?>|<.*(data|src)data:text\\/html.*>|\\b(alert\\(|confirm\\(|expression\\(|prompt\\(|benchmark\s*?\\(\d?|sleep\s*?\\([\d\.]?\\)|load_file\s*?\\()|<[…

POJ 2115 C Looooops(擴展歐幾里得)

輾轉相除法&#xff08;歐幾里得算法&#xff09; 時間復雜度&#xff1a;在O(logmax(a, b))以內 int gcd(int a, int b) {if (b 0) return a;return gcd(b, a % b); }擴展歐幾里得算法 時間復雜度和歐幾里得算法相同 int extgcd(int a, int b, int& x, int& y) {int …

分支管理(轉載)

轉自&#xff1a;http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743862006503a1c5bf5a783434581661a3cc2084efa000 分支就是科幻電影里面的平行宇宙&#xff0c;當你正在電腦前努力學習Git的時候&#xff0c;另一個你正在另一個平行…

匹配括號

輸入&#xff1a; 僅包含{,},(,),[,]的字符串輸出&#xff1a; 如果括號匹配輸出&#xff1a;YES 否則輸出&#xff1a;NOSolution&#xff1a; #include<iostream> #include<string> #include<stack> using namespace std;bool check(const string&)…

總線接口與計算機通信

微機中總線一般有內部總線、系統總線和外部總線。 內部總線是微機內部各外圍芯片與處理器之間的總線&#xff0c;用于芯片一級的互連&#xff1b; 系統總線是微機中各插件板與系統板之間的總線&#xff0c;用于插件板一級的互連&#xff1b; 外部總線則是微機和外部設備之間的總…

uva 12442 . Forwarding Emails

“... so forward this to ten other people, to prove that you believe the emperor has new clothes.”Aren’t those sorts of emails annoying?Martians get those sorts of emails too, but they have an innovative way of dealing with them.Instead of just forwardi…

大數相加

輸入&#xff1a; 兩個用字符串表示的大整數 如a1111111111111,b222222222222222 輸出&#xff1a; 兩個數的和 Solution&#xff1a; #include<iostream> #include<algorithm> #include<string>using namespace std;int add(const char&,const char&…

Linux的進程與服務(一)

啟動的配置文件/etc/inittab&#xff0c;修改完配置文件以后 init q立即生效 # Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not h…

Linux 修改swap虛擬內存大小

swap是內存的交換區&#xff1b;換句話說&#xff0c;如果內存不夠用了&#xff0c;那么系統會在硬盤上存儲一些內存中不常用的數據&#xff0c;之后將這部分數據在存儲中析構掉&#xff1b;這樣內存就又有剩余空間可以運行東東啦&#xff0c;這個過程也就是所謂的交換&#xf…

統計文章中的單詞

輸入&#xff1a; 字符串&#xff0c;其中可能包含空格&#xff0c;TAB&#xff0c;回車等&#xff0c;規定&#xff0c;僅字母數字和單引號算作單詞部分 輸出&#xff1a; 單詞的個數 Solution&#xff1a; #include<iostream> #include<string>using namespac…

邁向世界 拓展未來

一切都會過去&#xff0c;只有真理永存&#xff0c;只有愿意越過事實前進一步的人&#xff0c;才能理解事實&#xff0c;這就是科學。時代在發展&#xff0c;科技更是日新月異徹底改變著我們的生活方式。現在的我們就是跟著科技發展的腳步&#xff0c;奔著夢想&#xff0c;一直…

JS - 跳轉頁面

<!-- 第一種&#xff1a; --><script type"text/javascript">window.location.href "login.jsp?backurl" window.location.href;</script><!-- 第二種&#xff1a; --><script type"text/javascript"&g…

分享一個用安卓手機就能引導pc安裝linux系統辦法

1、首先安卓手機下載軟件DriveDroid.apk http://pan.baidu.com/s/1qW4pbT6 2、下載linux鏡像文件放手機存儲卡存儲&#xff0c;放到Download/images/以下 3、打開軟件會自己主動讀取這個目錄以下鏡像&#xff0c;也能夠在軟件里面下載須要的鏡像文件 4、軟件設置usb連接模式 5、…

SharePoint 2013 開發——其他社交功能

博客地址&#xff1a;http://blog.csdn.net/FoxDave上一篇講了如何獲取用戶配置文件的相關屬性&#xff0c;它屬于SharePoint 2013社交功能的一個小的構成部分。社交功能是SharePoint 2013改進的一大亮點。可以在現有網站上開啟社交功能或者新建一個專門用于社交用途的社區網站…

第一個Qt+opencv程序

簡單安裝好Qt和編譯安裝好opencv后&#xff0c;簡單實現第一個Qtopencv程序&#xff1a;讀取并顯示一張圖片&#xff0c;這里我的Qt版本時5.9.1&#xff0c;opencv版本是4.0.1&#xff0c;版本的影響不大。 首先我們用Qt創建一個控制臺項目&#xff0c;即在創建項目時選擇Qt C…

redis學習筆記——應用場景

最近在看redis入門指南&#xff0c;現在就自己的學習情況說說自己的理解。 字符串類型&#xff08;String&#xff09; 字符串類型是Redis中最基本的類型&#xff0c;能存儲任意形式的字符串&#xff0c;包括二進制數據。如一張照片也可以用字符串類型存儲。注意字符串類型鍵允…

Unity的Cover flow的實現包(2個)

蘋果的mac機上預覽圖片&#xff0c;有一個所謂的cover flow的效果&#xff0c;這里收集到兩個&#xff0c;兩個實現效果略有不同。 1、老外的實現 https://github.com/rakkarage/Unity3D-CoverFlow 這個焦點圖片在到最后位置前會模擬一個抖動效果 2、國人的實現 http://game.ce…

卸載全部appx應用(包括應用商店)

在PowerShell中粘貼&#xff1a; Get-AppXPackage | Remove-AppxPackage 轉載于:https://www.cnblogs.com/Bob-wei/p/4691854.html

求兩個整數數組乘積最小值

輸入&#xff1a; 三行&#xff1a; 第一行&#xff1a;n&#xff0c;表示數組的個數 第二行&#xff1a;數組a各個元素的值 第三行&#xff1a;數組b各個元素的值輸出&#xff1a; 式子&#xff1a;a[0]*b[0]a[1]*b[1]...a[n-1]*b[n-1];的最小值 其中數組a中元素順序可以調整…