剑指offer 面试题4 替换空格 java版答案

来源:互联网 发布:photoshop cs6 for mac 编辑:程序博客网 时间:2024/06/08 07:07
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);    }}

0 0
原创粉丝点击