import java.util.*;
public class Solution {
public String replaceSpace(StringBuffer str) {
int numOfBlank=0;
for(int i=0;i<str.length();i++){
if(str.charAt(i)==' ') numOfBlank++;
}//获得空格的个数
int LenOri=str.length();//原始长度
int LenNew=LenOri+2*numOfBlank;//新长度
str.setLength(LenNew);//设置字符序列的长度
int IndexOri=LenOri-1;//原始索引
int IndexNew=LenNew-1;//新索引
//每个字符只需要挪动一次,时间复杂度为O(n)
while(IndexOri>=0&&IndexNew>IndexOri){
if(str.charAt(IndexOri)==' '){
str.setCharAt(IndexNew--,'0');
//StringBuffer中的方法
str.setCharAt(IndexNew--,'2');
str.setCharAt(IndexNew--,'%');
}else str.setCharAt(IndexNew--,str.charAt(IndexOri));
--IndexOri;
}
return str.toString();
}
}
剑指offer[JZ2]替换空格
最新推荐文章于 2023-10-26 12:01:46 发布