Java教程

【剑指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 05】替换空格的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!