請實現一個函數,將一個字符串中的每一個空格替換成「%20」。例如,當字符串爲We Are Happy.則通過替換以後的字符串爲We%20Are%20Happy。app
這道題比較簡單,就是遍歷該字符串每個字符進行復制,遇到空格就複製成%20。或者你也能夠直接用C#自帶的Replace函數,那這道題也就徹底沒有意義了。函數
public string replaceSpace(string str) { string result = ""; for(int i = 0; i < str.Length; i++) { if(str[i] == ' ') { result = result + "%20"; } else { result = result + str[i]; } } return result; }
解法2相比於解法1,優化的地方僅是針對C#語言,使用string類型字符串,一旦建立就不可修改大小。相似str += ""
這樣的操做都會建立新的對象而形成額外的內存開銷。因此使用StringBuilder能夠提高性能。
優化後效果:性能
public string replaceSpaceOptimize(string str) { System.Text.StringBuilder result = new System.Text.StringBuilder(); for (int i = 0; i < str.Length; i++) { if (str[i] == ' ') { result.Append("%20"); } else { result.Append(str[i]); } } return result.ToString(); }