日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AcWing之找替换空格

發布時間:2024/7/5 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AcWing之找替换空格 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目

請實現一個函數,把字符串中的每個空格替換成"%20"。 你可以假定輸入字符串的長度最大是1000。 注意輸出字符串的長度可能大于1000。

樣例

輸入:"We are happy."輸出:"We%20are%20happy."

方法一:

// 時間復雜度是 O(n)。class Solution { public:string replaceSpaces(string &str) {string res; //必須新定義一個res,不能在原來的str上修改for (auto x: str)if(x == ' ') res+="%20";else res+=x;return res;} };

方法二:

class Solution { public:string replaceSpaces(string &str) {int len = 0;for (auto c : str)if (c == ' ')len += 3;elselen ++ ; //計算長度int i = str.size() - 1, j = len - 1; //修改指針的位置str.resize(len); //重定義str長度while (i >= 0){if (str[i] == ' ') //從后往前,當str[i] == ' ',則添加{str[j -- ] = '0';str[j -- ] = '2';str[j -- ] = '%';}else str[j -- ] = str[i]; //否則,簡單的賦值。 str[j--] = str[i] . 把str原來的值賦值給擴建的str后面的i -- ;}return str;} };

作者:yxc
鏈接:https://www.acwing.com/solution/AcWing/content/704/
來源:AcWing
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

心得

方法一: 必須新定義一個res,不能再原來的str上修改。
invalid conversion from ‘const char*’ to ‘char’ [-fpermissive]
str最終是const,長度是有限的,不能添加"%20"長度為3.
見方法二

方法二: 關鍵在于str進行了重新定義長度。

總結

以上是生活随笔為你收集整理的AcWing之找替换空格的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。