、文字列を引き起こす可能性が高い文字列には、いくつかの文字の列、C / C ++と「\ 0」末端として各文字列ですので、文字列の最後の最後を見つけるのは簡単ですが、文字の追加のオーバーヘッドが必要です国境を越えました。
文字列定数の内容を変更することはできません別読み出し専用メモリ領域に、
またスペース(オファーは---インタビューの質問勝4)
タイトル:置換文字列内の各空間として、機能を実装してください「20%。」例えば、「私たちは幸せです。」出力「我々%20アール%の20apy」を入力します。
- ボイドReplaceBlank(文字列[]、int型の長さ)。
問題解決のアイデア:
(1)文字列、numberOfBankスペースの合計数の統計を横切ります。
(2)置換後の文字列の長さを計算する、すなわちnewLength = originLength + 2 * numberOfBank。
(3)文字列の末尾の後の文字列の末尾には、2つのポインタP1とP2点を、元の交換、およびコピーは正面から順トラバース。
継続する2〜