package OfferAnswer;
/**
* 面试题4
* 替换空格
* @author lwk
*
*/
public class Answer04 {
public static void main(String[] args) {
String str = "we are happy";
String getStr = replaceBlank(str);
System.out.println(getStr);
}
public static String replaceBlank(String str){
if(str == null || str.length() == 0){
return null;
}
char[] preChar = str.toCharArray();
//空格数
int blankNum = 0;
for (int i = 0; i < preChar.length; i++) {
if(preChar[i] == ' '){
blankNum++;
}
}
//原字符串的长度
int preLen = str.length();
//替换空格后,新字符串的长度
int newLen = preLen + 2 * blankNum;
//初始化新字符串
char[] newChar = new char[newLen];
int i = 0;
int j = 0;
while(i < preLen && j < newLen){
if(preChar[i] != ' '){
newChar[j++] = preChar[i];
}else{
newChar[j++] = '%';
newChar[j++] = '2';
newChar[j++] = '0';
}
i++;
}
return new String(newChar);
}
}
剑指offer 面试题4 替换空格 java版答案
最新推荐文章于 2020-02-09 17:57:08 发布