zoukankan      html  css  js  c++  java
  • 替换空格(python/c++)

    题目描述

    请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
    # -*- coding:utf-8 -*-
    class Solution:
        # s 源字符串
        def replaceSpace(self, s):
            # write code here
            i=0
            n=len(s)
            ss=[]##初始化定义算法的中间变量
            for i in range(n):
                if s[i].isspace():
                    ss.append('%20')#判断为空的时候加入非空的时候不加入
                else:
                    ss.append(s[i])
                i+=1
            ss=''.join(ss)##把所有的都连在一起来
            return ss
    

      

    c++代码

    #include<iostream>
    using namespace std;
    class Solution {
    public:
    	void replaceSpace(char *str, int length) {
    		if (str == nullptr || length<0)
    			return;
    		int count = 0, i = 0;
    		while (str[i] != '')
    		{
    			if (str[i] == ' ')
    			{
    				count++;
    			}
    			i++;
    		}
    		int oldlen = i;
    		int newlen = i + count * 2;
    		if (newlen>length)
    			return;
    		while (oldlen != newlen)
    		{
    			if (str[oldlen] != ' ') {
    				str[newlen--] = str[oldlen];
    			}
    			else {
    				str[newlen--] = '0';
    				str[newlen--] = '2';
    				str[newlen--] = '%';
    			}
    			oldlen--;
    		}
    		return;
    	}
    
    };
    int main(){
    	const int length = 100;
    	char str[length] = "We Are Happy";
    	Solution().replaceSpace(str, length);
    	cout << str << endl;
    	system("pause");
    	return 0;
    }
    

      

  • 相关阅读:
    NYOJ题目916胖子小的百宝袋
    NYOJ题目893十字架
    NYOJ题目874签到
    设计模式之Singleton
    Elo rating system 模拟
    JDBC之SqlHelper
    《Thinking in Java》十四章类型信息_习题解
    NYOJ题目842整除的尾数
    NYOJ题目840吃花生
    NYOJ题目839合并
  • 原文地址:https://www.cnblogs.com/277223178dudu/p/10431167.html
Copyright © 2011-2022 走看看