[C#版劍指offer]替換空格

給定一個字符串,需要將其中的空格全部替換爲%20

使用從後向前遍歷的方法,如圖所示。

public static string replacestr(string str)
        {
            //計算空格數量
            if (str == null || str.Length == 0) return str;
            int count = 0;
            foreach(var item in str)
            {
                if(item == ' ')
                {
                    count++;
                }
            }
            
            //設置i,j
            // h e l l o _ w o r l d 
            // h e l l o % 2 0 w o r l d 
            
            int i = str.Length-1;
            int j = str.Length + count*2-1;
            char[] ch = new char[j+1];
           
            while (i >= 0 && j >= i)
            {
                if (str[i] == ' ')
                {
                    ch[j--] = '0';
                    ch[j--] = '2';
                    ch[j--] = '%';
                    
                }
                else { ch[j--] = str[i]; }
                i--;
            }

            return new string(ch);
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章