国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

做網(wǎng)站是不是要學(xué)編程外包公司怎么賺錢

做網(wǎng)站是不是要學(xué)編程,外包公司怎么賺錢,做商城網(wǎng)站的公司,手機(jī)網(wǎng)站怎樣做目錄 151、反轉(zhuǎn)字符串中的單詞題目描述思路代碼本題反思 151、反轉(zhuǎn)字符串中的單詞 題目描述 給你一個(gè)字符串 s ,請你反轉(zhuǎn)字符串中單詞的順序。 單詞是由非空格字符組成的字符串。s 中使用至少一個(gè)空格將字符串中的單詞分隔開。 返回單詞順序顛倒且單詞之間用單個(gè)…

目錄

  • 151、反轉(zhuǎn)字符串中的單詞
    • 題目描述
    • 思路
    • 代碼
    • 本題反思

151、反轉(zhuǎn)字符串中的單詞

題目描述

給你一個(gè)字符串 s ,請你反轉(zhuǎn)字符串中單詞的順序。

單詞是由非空格字符組成的字符串。s 中使用至少一個(gè)空格將字符串中的單詞分隔開。

返回單詞順序顛倒且單詞之間用單個(gè)空格連接的結(jié)果字符串。

注意:輸入字符串 s中可能會存在前導(dǎo)空格、尾隨空格或者單詞間的多個(gè)空格。返回的結(jié)果字符串中,單詞間應(yīng)當(dāng)僅用單個(gè)空格分隔,且不包含任何額外的空格。

要求:空間復(fù)雜度為O(1);

思路

  1. 去除多余空格:收尾無空格,單詞之間只有一個(gè)空格
  • 定義快慢指針,快指針負(fù)責(zé)尋找正確的元素,慢指針負(fù)責(zé)從頭開始給字符串賦值。
  1. 反轉(zhuǎn)字符串
  2. 反轉(zhuǎn)單個(gè)單詞

代碼

class Solution {
public://原地反轉(zhuǎn)字符串void reverse(string& s, int start, int end) {for (int i = start, j = end; i < j; i++,j--) {swap(s[i], s[j]);//交換操作}}//去除多余空格void removeExtraSpaces(string& s) {int slowIndex = 0, fastIndex = 0; // 定義快指針,慢指針// 去掉字符串前面的空格while (s.size() > 0 && fastIndex < s.size() && s[fastIndex] == ' ') {fastIndex++;}for (; fastIndex < s.size(); fastIndex++) {// 去掉字符串中間部分的冗余空格if (fastIndex - 1 > 0 && s[fastIndex] == ' ' && s[fastIndex - 1] == s[fastIndex]) {continue;} else {s[slowIndex++] = s[fastIndex];}}if (slowIndex - 1 > 0 && s[slowIndex - 1] == ' ') { // 去掉字符串末尾的空格s.resize(slowIndex - 1);} else {s.resize(slowIndex); // 重新設(shè)置字符串大小}
}//反轉(zhuǎn)字符串中的單詞string reverseWords(string s) {removeExtraSpaces(s);//去除多余空格reverse(s, 0, s.size() - 1);//原地反轉(zhuǎn)所有字符//開始逐個(gè)反轉(zhuǎn)單詞int start = 0;//指向每一個(gè)單詞的開頭for (int i = 0; i <= s.size(); ++i) {if (i == s.size() || s[i] == ' ') {//到達(dá)空格或字符串尾部,說明一個(gè)單詞結(jié)束,進(jìn)行反轉(zhuǎn)reverse(s, start, i - 1);start = i + 1;//把start指向下一個(gè)單詞的開頭}}return s;}
};

優(yōu)化【去除多余空格函數(shù)】之后的代碼

class Solution {
public://原地反轉(zhuǎn)字符串void reverse(string& s, int start, int end) {for (int i = start, j = end; i < j; i++,j--) {swap(s[i], s[j]);//交換操作}}//去除空格void removeExtraSpaces(string& s) {int slow = 0;//慢指針輔助賦值操作for (int i = 0; i < s.size();i++) {if (s[i] != ' ') {//如果目前遍歷到的字符不是空格,就進(jìn)行處理if (slow != 0) s[slow++] = ' ';//給每個(gè)單詞之間添加空格while (i < s.size() && s[i] != ' ') {s[slow++] = s[i++];}}}s.resize(slow);//slow的大小就是刪除多余空格后字符串的大小
}//反轉(zhuǎn)字符串中的單詞string reverseWords(string s) {removeExtraSpaces(s);//去除多余空格reverse(s, 0, s.size() - 1);//原地反轉(zhuǎn)所有字符//開始逐個(gè)反轉(zhuǎn)單詞int start = 0;//指向每一個(gè)單詞的開頭for (int i = 0; i <= s.size(); ++i) {if (i == s.size() || s[i] == ' ') {//到達(dá)空格或字符串尾部,說明一個(gè)單詞結(jié)束,進(jìn)行反轉(zhuǎn)reverse(s, start, i - 1);start = i + 1;//把start指向下一個(gè)單詞的開頭}}return s;}
};

時(shí)間復(fù)雜度:O(n);
空間復(fù)雜度:O(1);原地修改字符串。

本題反思

  • 對于字符串的操作類似于數(shù)組,也是利用雙指針查找正確元素然后進(jìn)行覆蓋操作達(dá)到修改字符串的目的。
  • 尋找正確字符的過程就是去除多余空格的過程。
  • 比起整體反轉(zhuǎn)字符串,加入了在整體字符串中反轉(zhuǎn)其中的單詞,這需要額外添加條件判斷。
http://aloenet.com.cn/news/47306.html

相關(guān)文章:

  • ofbiz做的網(wǎng)站網(wǎng)絡(luò)輿情監(jiān)控
  • 網(wǎng)站備案很麻煩嗎網(wǎng)站模板圖片
  • 有哪些做普洱茶網(wǎng)站的seo關(guān)鍵詞優(yōu)化
  • 招標(biāo)采購導(dǎo)航網(wǎng)蘇州吳中區(qū)seo關(guān)鍵詞優(yōu)化排名
  • 兼職做問卷調(diào)查的網(wǎng)站個(gè)人網(wǎng)站設(shè)計(jì)內(nèi)容
  • 網(wǎng)絡(luò)營銷推廣方法是什么和什么的合理利用百度seo按天計(jì)費(fèi)
  • 做商城網(wǎng)站需要什么超級外鏈發(fā)布
  • 如今做哪些網(wǎng)站能致富長沙seo就選智優(yōu)營家
  • 網(wǎng)站路徑優(yōu)化怎么做淘寶運(yùn)營一般要學(xué)多久
  • 專門做汽車動力性測試的網(wǎng)站seo站長綜合查詢工具
  • 建微網(wǎng)站有什么好處做網(wǎng)站優(yōu)化哪家公司好
  • 大型網(wǎng)站urlseo具體是什么
  • 幫他人做視頻網(wǎng)站違法嗎推薦就業(yè)的培訓(xùn)機(jī)構(gòu)
  • 網(wǎng)站登陸界面怎么做藝人百度指數(shù)排行榜
  • 網(wǎng)站建設(shè)方案標(biāo)準(zhǔn)模板網(wǎng)站流量查詢網(wǎng)站統(tǒng)計(jì)查詢
  • wordpress4.9下載東莞網(wǎng)站建設(shè)優(yōu)化技術(shù)
  • 寶山專業(yè)做網(wǎng)站百度官網(wǎng)平臺
  • 網(wǎng)站中的冒號外貿(mào)建站與推廣
  • 泰國做網(wǎng)站網(wǎng)絡(luò)營銷戰(zhàn)略的內(nèi)容
  • 武漢網(wǎng)站開發(fā)軟件程序員百度保障中心人工電話
  • 學(xué)做網(wǎng)站 書陜西seo快速排名
  • 陜西專業(yè)網(wǎng)站建設(shè)公司品牌網(wǎng)站建設(shè)解決方案
  • 做影視網(wǎng)站關(guān)停人民日報(bào)最新新聞
  • 建網(wǎng)站免費(fèi)咨詢長春網(wǎng)站優(yōu)化哪家好
  • 網(wǎng)站開發(fā)專業(yè)有哪些營銷推廣文案
  • 中企業(yè)網(wǎng)站建設(shè)哪里做網(wǎng)站便宜
  • 楚雄微網(wǎng)站建設(shè)關(guān)鍵詞優(yōu)化分析工具
  • 90設(shè)計(jì)網(wǎng)站怎么樣google廣告投放技巧
  • 如何在手機(jī)上做網(wǎng)站搜索引擎調(diào)價(jià)工具哪個(gè)好
  • 成都網(wǎng)站制作建設(shè)電商網(wǎng)站建設(shè)哪家好