1. 程式人生 > >5.10 字串的調整與替換

5.10 字串的調整與替換

題目】:

  給定一個字元型別的陣列chas[],chas右半區全是空字元,左半區不含有空字元。現在想將左半區中所有的空格字元替換成"%20",假設chas右半區足夠大,可以滿足替換所需要的空間,請完成替換函式

  舉例:

    如果把chas的左半區看作字串,為"a b  c",假設chas的右半區足夠大。替換後,chas的左半區為"a%20b%20%20c"

要求】:

  替換函式的時間複雜度為O(N),額外空間複雜度為O(1)

 

補充題目】:

  給定一個字元型別的陣列chas[],其中只含有數字字元和"*"字元。現在想把所有的"*"字元挪到chas的左邊,數字字元挪到chas的右邊。請完成調整函式

  舉例:

    如果把chas看作字串,為"12**345"。調整後chas為"**12345"

要求】:

  1. 調整函式的時間複雜度為O(N),額外空間複雜度為O(1)

  2. 不得改變數字字元從左到右出現的順序