zoukankan      html  css  js  c++  java
  • 剑指Offer:替换空格

    剑指Offer:替换空格

    问题描述:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

    解题思路:

    1. 字符串的替换,首先想到的是string操作函数:replace
    2. 通过find()找出空格字符,将其替换对应的字符;
    3. find()找出的是字符串的第一个指定字符,通过死循环,不断寻找指定字符;
    4. 在循环当中,通过if else条件语言,结束循环。

    注意:

    1. find()返回值是无符号的整数数据(size_type),定义成int类型也可以(强制类型转换);
    2. 在if循环中,注意判断语句的写法,只能这样写,在外部定义npos类型之后,再使用也不行;
    class Solution {
    public:
        string replaceSpace(string s) 
        {
            string::size_type pos;
            //int pos;
            //string::npos; //定义之后再使用,出现错误??
            while(true)
            {
                if((pos=s.find(' ')) != string::npos)
                {
                    s.replace(pos, 1, "%20");
                }
                else
                {
                    break;
                }
            }
            return s;
        }
    };
    
  • 相关阅读:
    day11
    day10
    day9
    day8
    day7
    day6
    day14
    day13
    day12
    day11
  • 原文地址:https://www.cnblogs.com/Tavi/p/12514046.html
Copyright © 2011-2022 走看看