這種解法在查詢到空格的同時將陣列長度增加,然後將空格後字串元素進行移位處理,但存在重複處理,每發現乙個空格,它後面的字串元素全部得處理,其中包括前面處理過的字串元素,占用時間和資源較多,不建議採用。(後附示意圖及原始碼)
while (i>=0) //對字串進行遍歷
a[j] = '%';;
a[++j] = '2'; //將空格及其後兩位替換為題目要求得「%20」
a[++j] = '0';
l+=2;
} i--;
} printf("for迴圈輸出替換空格後的字串 ");
for (k = 0; k< l ; k++)
printf("\n");
return ;
}int main()
這種解法可以直接發現字串中本來不存在空格的情況 ,避免處理有些字串浪費時間和資源,且避免重複處理。
while (a[i]!='\0') //對字串進行遍歷
i++;
} h = l + j * 2;
d = l + j * 2; //將替換完空格的字串長度賦值給h和d
if (l >= d)
while (l >= 0 && h >= 0)
else
l--;
} printf("for迴圈輸出替換空格後的字串 ");
for (k = 0; k < d; k++)
printf("\n");
}int main()
#include#includeusing namespace std;
class solution
if (length == 0)
while (str[i] != '\0') //對字串進行遍歷
i++;
} h = length + j * 2;
d = length + j * 2; //將替換完空格的字串長度賦值給h和d
if (length >= d)
while (length >= 0 && h >= 0)
else
length--;
} }};int main()
劍指offer(2) 替換空格
假設面試官讓我們在原來的字串上做替換。時間複雜度為o n 的解法。我們可以先遍歷一遍字串,這樣就能統計出字串中空格的總數,並可以由此計算出替換之後的字串的總長度。每替換乙個空格,長度增加2,因此替換以後字串的長度等於原來的長度加上2乘以空格數目。length為牛客系統規定字串輸出的最大長度,固定為乙...
劍指offer 2 替換空格
請實現乙個函式,將乙個字串中的空格替換成 20 usr bin env python coding utf 8 created by xuehz on 2017 8 7 class solution s 源字串 defreplacespace self,s write code here if ty...
劍指Offer 2 替換空格
題目描述 python 實現 coding utf 8 class solution s 源字串 def replacespace self,s write code here count 0 for val in s if val count 1 s new len s count 2 index...