美文网首页LeetCode每日一题
LeetCode每日一题:剑指 Offer 05. 替换空格

LeetCode每日一题:剑指 Offer 05. 替换空格

作者: Patarw | 来源:发表于2020-08-14 17:18 被阅读0次

    思路一:使用额外的集合辅助求解

    构建一个StringBuffer,遍历字符串,如果不是空格就直接加入StringBuffer中,如果是空格的话就添加"%20"进StringBuffer中,最后返回结果。
    时间复杂度:O(n) ,只遍历了一次字符串。
    空间复杂度:O(n),使用了大小为n的额外空间

    • 代码实现:
    class Solution {
     public String replaceSpace(String s) {
        if(s.length() == 0){
            return s;
        }
        StringBuffer res = new StringBuffer();
        int index = 0;
        while(index < s.length()){
            char a = s.charAt(index);
            if(a != ' '){
                res.append(a);
            }else{
                res.append("%20");
            }
            index++;
        }
        return res.toString();
     }
    } 
    

    解法二,直接调用API

    • 代码:
    class Solution {
     public String replaceSpace(String s) {
         if(s.length() == 0){
             return s;
         }
        return s.replace(" ", "%20");
     }
    }

    相关文章

      网友评论

        本文标题:LeetCode每日一题:剑指 Offer 05. 替换空格

        本文链接:https://www.haomeiwen.com/subject/hnxndktx.html