程序员面试经典--空格替换

来源:互联网 发布:淘宝购物卡哪里买 编辑:程序博客网 时间:2024/06/05 14:58

1.4问题:

编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串尾部有足够的空间存放新字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)

思想:扫描两次,第一次统计多少空格;第二次,反向编辑字符串,监测到空格则将%20插入,若不是,就复制原字符。

import java.util.*;public class replace{public static void main(String args[]){char[] str={'a',' ','b',' ','c','c','c','c','c','c'};int i=5;replacespaces(str,i);System.out.println(str);}public static void replacespaces(char[] str,int length){int spaceCount=0,newlength,i;for(i=0;i<length;i++){if(str[i]==' '){spaceCount++;}}newlength=length+spaceCount*2;str[newlength]='\0';for(i=length-1;i>=0;i--){if(str[i]==' '){str[newlength-1]='0';str[newlength-2]='2';str[newlength-3]='%';newlength=newlength-3;}else{str[newlength-1]=str[i];newlength--;}}}}




0 0
原创粉丝点击