URL化 https://leetcode-cn.com/problems/string-to-url-lcci/
C++ string拼接即可
string S;
S+="%20";//拼接字符串
S+='c';//拼接字符
Java
char[] S1=new char[length]; 这是字符数组
String S2="***sffk7";这是String字符串
S1=S2.toCharArray();字符串转字符数组
S2=String.valueOf(S1);字符数组转字符串
下面是Java两种方法,法一超时,我查了一下,原因在于:
假如你用”+”来连接固定长度的字符串,性能上会稍受影响, 但是假如你是在循环中来”+”多个串的话, 性能将指数倍的下降。
Java
class Solution {
public String replaceSpaces(String S, int length) {
/*String res="";
char[] S1;
S1=S.toCharArray(); //字符串转为字符数组
for(int i=0;i<length;i++)
{
if(S1[i]==' ')
{
res+="%20";
}
else
{
res+=S1[i];
}
}
//S=String.valueOf(S1); //字符数组转为字符串
return res;*/
char[] S1=new char[length*3];
int cnt=0;
for(int i=0;i<length;i++)
{
char ch=S.charAt(i);
if(ch==' ')
{
S1[cnt++]='%';
S1[cnt++]='2';
S1[cnt++]='0';
}
else
{
S1[cnt++]=ch;
}
}
S=new String(S1,0,cnt);
return S;
}
}