劍指offer面試題彙總
題目描述
請實現乙個函式,把字串s
中的每個空格替換成"%20"。
輸入輸出
解決方案
直接替換
return s.replace(
" ",
"%20"
);
不符合題意,題目想說的是用char陣列怎麼實現雙指標
先計算空格數量建立乙個新陣列容量加上空格替換字串的長度
p1指向字串尾部
p2指向陣列尾部
從後往前掃瞄字串
public
static string replacespace
(string s)
//陣列生成則是原長度+空格數*2
char
news =
newchar
[s.length()
+count*2]
;//指標p1指向原陣列尾部,指標p2指向新陣列尾部
int p1=olds.length-
1,p2=news.length-1;
//遍歷完陣列
while
(p2>=0)
else
}return string.
valueof
(news)
;}
舉一反三
兩個排序陣列a1和a2,a1有足夠空間容納a2,實現函式將a2插入到a1中去,並且數字是排序的
三個指標
p1指向a1尾巴,p2指向a2尾巴,p3指向a1陣列中加a2下標處
同時從後往前比較
劍指Offer 面試題05 替換空格
請實現乙個函式,把字串 s 中的每個空格替換成 20 示例 1 限制 0 s 的長度 10000 暴力方法,從前向後遍歷,遇到空格就替換,則每次替換需要移動空格後面o n 個字元,所以總時間複雜度為o n 2 我們可以先計算出空格數,然後可得替換後新串總長度,設兩個指標i和j分別指向原來字串末尾和新...
劍指offer 面試題05 替換空格為20
替換空格 請實現乙個函式,把字串 s 中的每個空格替換成 20 示例 1 限制 0 s 的長度 10000 解題思路 1.利用c 11 以後遍歷容器的方法 for auto a s res 為新建的string class solution return res 2.一般像這種需要向後擴充容量重新整...
劍指offer面試題 替換空格
題目 請實現乙個函式,把字串中的每個空格替換成 20 例如輸入 則輸出 解析 時間複雜度為o n 的解法。完整 及測試用例實現 cpp view plain copy include using namespace std include length 為字元陣列string的總容量 void re...