请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为we are happy.则经过替换之后的字符串为we%20are%20happy。
逆序替换,降低时间复杂度
String一旦初始化,无法改变。
使用StringBuffer,是因为牛客网的模板。
实际使用中,单线程建议是用StringBuilder,因其无锁,效率高。
立即学习“Java免费学习笔记(深入)”;
多线程中,使用StringBuffer。
两者的内置函数是相同的
在原有字符串上更改,还是新建字符串(原有的话,需要重新设置长度setLength())
不考虑使用现有replace()
public static String replaceSpace(StringBuffer str){
int length = str.length(); int spacenum = 0;
//统计空格字符个数
for(int i=0;i<length;i++){ if(str.charAt(i) == ' ')
spacenum++;
}
int lengthNew = length + spacenum*2;
str.setLength(lengthNew); int index = length-1; int indexNew = lengthNew-1; for(;index>=0;index--){
if(str.charAt(index) == ' '){
str.setCharAt(indexNew--, '0');
str.setCharAt(indexNew--, '2');
str.setCharAt(indexNew--, '%');
} else{
str.setCharAt(indexNew--, str.charAt(index));
}
} return str.toString();
}好了,本文就介绍到这里,欢迎大家多多指教。感兴趣的请学习php中文网在线java视频教程
以上就是java实现替换字符串中的空格思路和代码的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号