剑指 Offer 05. 替换空格(两种做法)
生活随笔
收集整理的這篇文章主要介紹了
剑指 Offer 05. 替换空格(两种做法)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:題目
二:上碼
1:方法一
class Solution { public:string replaceSpace(string s) {string str = "";for(int i = 0; i < s.size(); i++) {if(s[i] == ' '){str += "%20";}else{str += s[i];}}return str;} };2:方法二(雙指針)
class Solution { public:string replaceSpace(string s) {//雙指針int count = 0;for(int i = 0; i < s.size(); i++) {if(s[i] == ' '){count++; }}int oldSize = s.size();s.resize(s.size() + count*2);//這里是擴容因為%20是占用兩個字符的int newSize = s.size();for(int i = newSize - 1,j = oldSize - 1; i>=0,j>=0; i--,j--) {if(s[j] != ' '){//當遇到是字符的時候,我們就將字符賦值給擴容后的的字符串s[i] = s[j];}else{s[i] = '0';s[i-1] = '2';s[i-2] = '%';i=i-2;}}return s;} }; 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的剑指 Offer 05. 替换空格(两种做法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 日本 ispace 推出用于第二次月球任
- 下一篇: 151. 翻转字符串里的单词(思路+详解