LeetCode(剑指 Offer)- 05. 替换空格

Posted 程序员牧码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(剑指 Offer)- 05. 替换空格相关的知识,希望对你有一定的参考价值。

题目链接:点击打开链接

题目大意:略。

解题思路:略。

相关企业

  • 小米集团

AC 代码

  • Java
// 解决方案(1)
class Solution 
    public String replaceSpace(String s) 
        return s.replace(" ", "%20");
    


// 解决方案(2)
class Solution 
    public String replaceSpace(String s) 
        StringBuilder res = new StringBuilder();
        for(Character c : s.toCharArray())
        
            if(c == ' ') res.append("%20");
            else res.append(c);
        
        return res.toString();
    
  • C++ 
class Solution 
public:
    string replaceSpace(string s) 
        int count = 0, len = s.size();
        // 统计空格数量
        for (char c : s) 
            if (c == ' ') count++;
        
        // 修改 s 长度
        s.resize(len + 2 * count);
        // 倒序遍历修改
        for(int i = len - 1, j = s.size() - 1; i < j; i--, j--) 
            if (s[i] != ' ')
                s[j] = s[i];
            else 
                s[j - 2] = '%';
                s[j - 1] = '2';
                s[j] = '0';
                j -= 2;
            
        
        return s;
    
;

以上是关于LeetCode(剑指 Offer)- 05. 替换空格的主要内容,如果未能解决你的问题,请参考以下文章

[LeetCode]剑指 Offer 05. 替换空格

LeetCode(剑指 Offer)- 05. 替换空格

LeetCode:剑指Offer 05. 替换空格 (字符串)

刷题记录leetcode 剑指 Offer(第 2 版)03-11

LeetCode(剑指 Offer)- 题集

剑指 Offer(第 2 版)完整题解笔记 & C++代码实现(LeetCode版)