国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

反轉(zhuǎn)單詞順序

2019-11-11 07:32:06
字體:
供稿:網(wǎng)友

反轉(zhuǎn)單詞順序


題源:https://leetcode.com/PRoblems/reverse-Words-in-a-string/ leetcode 151

思路

先每個單詞反轉(zhuǎn)最后整個數(shù)組反轉(zhuǎn)由于字符串開頭和結(jié)尾和中間會有多個空格,所以需要考慮去掉多余的空格

代碼

void reverseword(string &s, int start, int end){ if (start>=end) { return; } else{ while (start<end) { char temp = s[start]; s[start++] = s[end]; s[end--] = temp; } return; }}void reverseWords(string &s) { int i=0, j=0; int l=0; int len = s.length(); int wordcount = 0; while (true) { while (s[i]==' '&&i<len) {i++;} if (i==len) {break;} if (wordcount) {s[j++]=' ';} //當(dāng)是第一個單詞時(shí)前面不需要加空格,而后續(xù)的單詞前面需要加上一個空格 l = j; while (s[i]!=' '&&i<len) {s[j++] = s[i++];} //旋轉(zhuǎn)一個單詞 reverseword(s,l,j-1); wordcount++; } s.resize(j); //一定需要改變string對象s的大小,原因見下面 reverseword(s,0,j-1); //整體旋轉(zhuǎn)數(shù)組}

需要resize字符串的大小的原因:

因?yàn)楫?dāng)不改變字符串的大小的話:當(dāng)輸入:” hello world “時(shí),會得到如下第二行的答案: 這里寫圖片描述

當(dāng)使用resize改變string的大小后:

這里寫圖片描述

resize的用法:http://www.howsoftworks.net/cplusplus.api/std/string_resize.html


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 浪卡子县| 贺州市| 乌拉特后旗| 宾川县| 晋宁县| 铁岭县| 宁海县| 周口市| 抚远县| 昌宁县| 富裕县| 常德市| 城固县| 辽阳县| 建瓯市| 林州市| 田林县| 全州县| 小金县| 张家界市| 乌鲁木齐县| 德令哈市| 新营市| 尉氏县| 尉犁县| 冕宁县| 河间市| 潢川县| 九寨沟县| 盐亭县| 鄯善县| 凤城市| 新绛县| 石城县| 曲松县| 浦县| 泰州市| 松阳县| 紫阳县| 永济市| 岳阳市|