剑指offer——替换字符串

时间:2022-09-08 13:52:53
总结:先计算出总共有多少空格,count++;然后从后往前遍历,每遇到一个空格,count--;
 
 
 
替换空格
  • 参与人数:2119时间限制:1秒空间限制:32768K
  • 通过比例:20.23%
  • 最佳记录:0 ms|8552K(来自  牛客游客

题目描述

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
 
完整代码:
public class StringreplaceSpace {
public static void main(String[] args){
StringBuffer str=new StringBuffer("We Are Happy");
System.out.println(replaceSpace(str)); }
public static String replaceSpace(StringBuffer str) {
int count=0;
for(int i=0;i<str.length();i++){
if(str.charAt(i)==' '){
count++;
}
}
char str2[] = new char[str.length()+count*2];
for(int j=str.length()-1;j>=0;j--){
char temp = str.charAt(j);
if(temp!=' '){
str2[j+2*count] =temp;
}
else{
str2[j+2*count]='0';
str2[j+2*count-1]='2';
str2[j+2*count-2]='%';
count--;
}
}
StringBuffer str3=new StringBuffer();
for(int k=0;k<str2.length;k++){
str3.append(str2[k]);
}
return str3.toString();
}
}