//寫函式,將字串中的每個空格替換成20%// 首先找出所有的空格數,然後整體後移,最後填充三個字元
/* 特殊字元可能會無法顯示,需要ascii碼轉換,%32空格*/
#include #include using namespace std;
char* replacestr(char str)
int length = len + count * 2;
i = len;
while (i >= 0)
else
str[length--] = str[i];
--i;
}return str;}
// ********************== error ***************=
char* replace_blank(char* str, int len)
int total = length + cnt * 2;
if (len < total)
return 0;
int i = length;
while (i >= 0)
else
str[total--] = str[i];
--i;
}return str;
}void main04()cout << endl;
int len = sizeof(str)/sizeof(str[0]);
char* s1 = replacestr(str);
char str1[20] = "we are no";
char* s2 = replace_blank(str1, len);
for (int i = 0; i < strlen(str); ++i)
cout << endl;
}
劍指offer 程式設計題
輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。注意 這兩個序列的長度是相等的 ...
LeetCode劍指Offer05 替換空格
leetcode劍指offer05.替換空格 題目 請實現乙個函式,把字串 s 中的每個空格替換成 20 示例 1 題解 1.常規方法 先遍歷一遍陣列,記錄空格的個數count,再擴充套件字元陣列長度為 s.size 2 count 用雙指標從後往前替換空格,乙個指標指向擴充套件前的最後一位,乙個指...
劍指offer 題5 替換空格
題目 首先拿到題目,第一感覺就是乙個 空格 變成了 20 那字串長度肯定變長啊 所以我第一反應是建立新的字串b,然後從a乙個個讀取字元,遇到 空格 就用 20 來替代,只要b空間足夠,遍歷一遍就成了。但是,面試再簡單也不是考這種題目。於是這時候面試官可能會講了 要求在原來的字串上進行操作 這時候問題...