Day2 剑指offer:空格替换

2017-08-01  本文已影响0人  zheng7

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

public class Solution {
    public String replaceSpace(StringBuffer str) {
        int length = str.length();
        int numOfSpace = 0;
        int lengthFinal = length;
        
        for(int i=0; i<length; i++){
            if(str.charAt(i) == ' '){
                lengthFinal++;
                lengthFinal++;
            }
        }
        str.setLength(lengthFinal);
        
        for(int i=length-1 ,j=lengthFinal-1; i>=0&& j>=0;){
                if(str.charAt(i) == ' '){
                    str.setCharAt(j, '0');
                    j--;
                    str.setCharAt(j, '2');
                    j--;
                    str.setCharAt(j, '%');
                    j--;
                    i--;
                }else{
                    str.setCharAt(j, str.charAt(i)); 
                    j--;
                    i--;
                }
        }
        return str.toString();
    }
}
上一篇 下一篇

猜你喜欢

热点阅读