其他分享
首页 > 其他分享> > 【剑指Offer 05】替换空格

【剑指Offer 05】替换空格

作者:互联网

/**
 * 剑指 Offer 05. 替换空格
 * 思路:如果给定的字符数组能够容纳替换后的字符串,则可以从后开始替换
 * */
public class Solution {
    public String replaceSpace(String s) {
        // 统计空格数量
        int spaces = 0;
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == ' ') {
                spaces++;
            }
        }
        // 没有空格提前返回
        if (spaces == 0) {
            return s;
        }
        // 替换空格
        char[] chars = new char[s.length() + spaces * 2];
        for (int i = 0, j = 0; i < s.length(); i++) {
            if (s.charAt(i) == ' ') {
                chars[j++] = '%';
                chars[j++] = '2';
                chars[j++] = '0';
            } else {
                chars[j++] = s.charAt(i);
            }
        }
        return new String(chars);
    }
}

标签:Offer,++,chars,05,空格,int,spaces,替换
来源: https://www.cnblogs.com/liaozibo/p/offer-05.html