leetcode文字列はスペースを置き換えます

記事のディレクトリ

THE

問題

ここに画像の説明を挿入

解決

コード



/* 
思路:  先查找空格, 确定替换后的大小。 对于有下表的数据, 一定要先考虑从末尾开始向前遍历。 
不过这个是new 的string , 也不用从末尾开始。

-   find ' ' , and get all length;
-  while(i>0)
- -  end pointer --; instead '';
- - 
- 
*/

class Solution {
    
    
public:
   /**
    * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
    *
    * 
    * @param s string字符串 
    * @return string字符串
    */
   string replaceSpace(string s) {
    
    
       // write code here
       int maxnums = 0, spacenums = 0;

       maxnums = s.size()+2*spacenums;
       string temp ;
       for(int i = 0 ;i<s.size();i++){
    
    
           if(s[i]==' '){
    
    
               spacenums++;
               temp.append("%20");             
           }
           else {
    
    
               temp = temp+s[i]; 
           }
           
       }     
       return temp;
       
   }
};

まとめと考察

  1. 新しい配列を作成する場合、最後からトラバースする必要はありません。それ自体から開始する場合は、最後から開始する必要があります。

おすすめ

転載: blog.csdn.net/liupeng19970119/article/details/114179995