中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

做網站是不是要學編程外包公司怎么賺錢

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

目錄

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

151、反轉字符串中的單詞

題目描述

給你一個字符串 s ,請你反轉字符串中單詞的順序。

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

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

注意:輸入字符串 s中可能會存在前導空格、尾隨空格或者單詞間的多個空格。返回的結果字符串中,單詞間應當僅用單個空格分隔,且不包含任何額外的空格。

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

思路

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

代碼

class Solution {
public://原地反轉字符串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); // 重新設置字符串大小}
}//反轉字符串中的單詞string reverseWords(string s) {removeExtraSpaces(s);//去除多余空格reverse(s, 0, s.size() - 1);//原地反轉所有字符//開始逐個反轉單詞int start = 0;//指向每一個單詞的開頭for (int i = 0; i <= s.size(); ++i) {if (i == s.size() || s[i] == ' ') {//到達空格或字符串尾部,說明一個單詞結束,進行反轉reverse(s, start, i - 1);start = i + 1;//把start指向下一個單詞的開頭}}return s;}
};

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

class Solution {
public://原地反轉字符串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] != ' ') {//如果目前遍歷到的字符不是空格,就進行處理if (slow != 0) s[slow++] = ' ';//給每個單詞之間添加空格while (i < s.size() && s[i] != ' ') {s[slow++] = s[i++];}}}s.resize(slow);//slow的大小就是刪除多余空格后字符串的大小
}//反轉字符串中的單詞string reverseWords(string s) {removeExtraSpaces(s);//去除多余空格reverse(s, 0, s.size() - 1);//原地反轉所有字符//開始逐個反轉單詞int start = 0;//指向每一個單詞的開頭for (int i = 0; i <= s.size(); ++i) {if (i == s.size() || s[i] == ' ') {//到達空格或字符串尾部,說明一個單詞結束,進行反轉reverse(s, start, i - 1);start = i + 1;//把start指向下一個單詞的開頭}}return s;}
};

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

本題反思

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

相關文章:

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