题解 | #替换空格#

替换空格

http://www.nowcoder.com/practice/0e26e5551f2b489b9f58bc83aa4b6c68

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return string字符串
     */
    public String replaceSpace (String s) {
        // write code here
        //整体思路:创建一个新的字符串数组,挨个往里塞
        //时间O(n),空间O(n)
        int len = s.length();
        int space_num = 0;
        //先遍历一遍,以获取字符串数组中的空格数,进而创建指定长度的字符数组
        for(int i = len-1; i >= 0; i--){
            if(s.charAt(i) == ' '){
                space_num++;
            }
        }
        char[] str_lat = new char[len+space_num*2];
        int pri = s.length()-1;
        int lat = s.length()+space_num*2-1;
        System.out.print(str_lat);
        //只要原字符串和新字符数组的索引没有同时达到-1,就继续循环
        while(pri != lat || pri >= 0){
            if(s.charAt(pri) == ' '){
                str_lat[lat--] = '0';
                str_lat[lat--] = '2';
                str_lat[lat--] = '%';
            }
            else{
                str_lat[lat--] = s.charAt(pri);
            }
            pri--;
            System.out.print(str_lat);
        }
        System.out.print(str_lat);
        return String.valueOf(str_lat);
    }
}
全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务