劍指offer程式設計題 04 替換空格

2021-08-17 02:45:41 字數 921 閱讀 6909

//寫函式,將字串中的每個空格替換成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空間足夠,遍歷一遍就成了。但是,面試再簡單也不是考這種題目。於是這時候面試官可能會講了 要求在原來的字串上進行操作 這時候問題...