字符串的空格替换
2016-05-19 15:59
375 查看
有一个字符串a=”we are you.”空格替换%20,常规的解法是从前往后遍历,遇到空格,替换,然后后面的元素向后移2位,以此类推,这样的时间复杂度是n2,因为会有一部分数据重复移动多次,比较好的解决方案就是先求出替换完之后,最后一个元素的位置,然后从后向前处理字符串。
java代码:
java代码:
private static void replace(char[] test,int space) { if(test==null||space<=0) return ; int count=0; //统计有多少个空格 for(int i=0;i<test.length;i++){ if(test[i]==' ') count++; } //替换完之后的的字符串的长度是原来的长度+2倍的空格数量 int len=2*count+test.length; if(len>space) return; //从后往左进行双指针移位,替换 int l1=test.length; System.out.print(l1); while(l1>=0&&len>l1){ if(test[l1]==' '){ test[len--]='0'; test[len--]='2'; test[len--]='%'; } else { test[len--]=test[l1]; } l1--; } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树