文字列オファー安全性を証明するために - スペースを置き換えます

タイトル説明

、にそれぞれのスペースを置き換えるために、文字列関数を実装してください「20%。」例えば、文字列があるとき、私たちは幸せです。文字列が後に我々%20Are%20Happy交換後。

分析

前へ戻ります。ダブル添字。

コード

class Solution {
public:
    void replaceSpace(char *str,int length) {
        int numblack = 0;  
        char *ptr = str;  
        int oldlenth = strlen(str);
        int newlenth = 0;  
        if(str == NULL && length <= 0)  
            return;  
        }  
        while(*ptr)
        {  
            if(*ptr == ' ')   
                numblack++;   
            ptr++;  
        }  
        if(numblack == 0)   
            return;  

        newlenth = oldlenth + 2 * numblack;
        if(newlenth > length)  
            return;  

        while(oldlenth < newlenth)  
        {  
            if(str[oldlenth] != ' ')
            {  
                str[newlenth--]=str[oldlenth--];  
            } else {  
                oldlenth--;  
                str[newlenth--] = '0';  
                str[newlenth--] = '2';  
                str[newlenth--] = '%';  
            }  
        }
    }
};

 

公開された35元の記事 ウォンの賞賛6 ビュー6696

おすすめ

転載: blog.csdn.net/qq_35413770/article/details/105131335