原生javascript基礎總結-----02
阿新 • • 發佈:2021-01-25
技術標籤:Leetcode之劍指offer字串javaleetcode
題目
請實現一個函式,把字串 s 中的每個空格替換成"%20"。
示例
輸入:s = “We are happy.”
輸出:“We%20are%20happy.”
自己的想法
- Java中有替換字元的方法:
replace("char oldChar","char newChar")
class Solution {
public String replaceSpace(String s) {
String news = s.replace (" ","%20");
return news;
}
}
- 還挺快的
- 這。。。就結束了?這麼簡單,我覺得不太能,再去看看題解~
- 2021年1月24日21:22:57,果然看了題解,就是不一樣
class Solution {
public String replaceSpace(String s) {
int length = s.length();
//初始化一個字元陣列,乘3是因為,題目中空格變成三個字元(%20),防止改變後,出現越界情況,只是一個虛擬陣列長度
char[] array = new char[length*3];
//最後真實的陣列長度
int size = 0;
//遍歷字串中的每個字元
for(int i=0;i<length;i++){
if(s.charAt(i)==' '){
//進行拼接
array[size++] = '%';
array[size++] = '2';
array[size++] = '0';
}else{
array[ size++] = s.charAt(i);
}
}
//字元陣列變成字串型別,進行返回
String newStr = new String(array,0,size);
return newStr;
}
}
- 還行,挺快的也