字串的調整II
字串的調整II
題目描述
給定一個字元型別的陣列chas[],chas右半區全是空字元,左半區不含有空字元。現在想將左半區的空格字串替換成“%20”,假設chas右半區足夠大,可以滿足替換需要的空間,請完成替換函式。
輸入描述:
輸出一行,代表chas的左半區 ( 1 ≤ l e n g t h ( c h a s l e f t ) ≤ 1 0 5 ) (1 \leq length(chas_{left}) \leq 10^5 ) (1≤length(chasleft)≤105) 。
輸出描述:
輸出一行,代表替換後的字串。
示例1
輸入
a b c
輸出
a%20%20b%20%20%20%20c
備註:
時間複雜度 O ( n ) O(n) O(n),額外空間複雜度 O ( 1 ) O(1) O(1)。
題解:
從前往後遍歷,統計空格數目,設為 num ,最終的字串長度為:len + num * 2。
然後從後往前遍歷,遇到非空字元,則直接複製,否則依次填充“0 2 %”。
程式碼
#include <stdio.h>
const int N = 3e5 + 10;
char s[N];
int main(void) {
gets(s);
int num = 0, i;
int len = 0;
for (i = 0; s[i]; ++i) {
if (s[i] == ' ') ++num;
}
len = i + num * 2 - 1;
s[len + 1] = 0;
while (--i >= 0) {
if (s[i] != ' ') s[len--] = s[i];
else {
s[len--] = '0';
s[len--] = '2';
s[len--] = '%';
}
}
printf("%s\n", s);
return 0;
}
相關文章
- Leedcode-反轉字串 II字串
- Gamma調整GAM
- 視訊直播app原始碼,對首頁樣式的整體調整,調整成圓角化APP原始碼
- 調整狀態
- Nginx的優化調整方面Nginx優化
- hadoop queue的配額調整Hadoop
- 週報調整的若干思考
- 大量影片色調批次進行調整的方法
- 字串轉換整數(atoi)字串
- 批量調整視訊尺寸大小的方法,一鍵自動批量調整視訊
- LOL射手改版細節調整 英雄與裝備將進行整體調整ID
- 3298. 統計重新排列後包含另一個字串的子字串數目 II字串
- JavaScript拖動調整元素的尺寸JavaScript
- 備份的優化和調整優化
- 調整time_waitAI
- orcle效能調整(轉)
- CAD填充比例調整
- 字串、整數倒序輸出字串
- android4.4調整音量調節速度Android
- 調換任意字串位置字串
- Day7(字串)|344.反轉字串 541.反轉字串II 54.替換數字字串
- 調整PHP-FPM(Nginx)的子程式PHPNginx
- Solon 統一的返回結果調整
- mongodb線上調整Oplog Size的值MongoDB
- 關於學習心態的調整
- organizational alignment 組織調整
- WinForm禁止窗體調整ORM
- oracle 線上調整redoOracle
- weblogic 記憶體調整Web記憶體
- Leetcode 貪心:差值調整LeetCode
- UITableViewCell分割線位置調整UIView
- Arduino調整小車速度UI
- 如何調整Pycharm字型大小PyCharm
- Echarts 圖表位置調整Echarts
- .C++整數的N進位制字串表示C++字串
- LeetCode-8. 字串轉整數 (atoi)LeetCode字串
- python實現字串轉換整數Python字串
- hduoj1002 A + B Problem II (大數相加 字串模擬)字串