leetcodeアルゴリズムがまとめた文字列のスペース除去操作
1998 ワード
文字列(ASCIIコード0-255)配列を指定するには、余分なスペースを開かずに開始と終了のスペースを削除し、中間の複数の連続するスペースを1つに結合します.たとえば、「i am a little boy.「i am a little boy」となり、言語は限定されませんが、偽のコードで答えないでください.関数の入出力は以下の関数のプロトタイプを参照してください.
C++関数プロトタイプ:
まず文字列配列操作で、メモリスペースを申請する必要がなく、下付きで文字にアクセスします.次はスペース文字
列の中のは‘’を表し、‘0’と区別される.
'0'は文字列の終わりを表し、文字列の終わりを表し、スペースは通常の文字で、テキストに表示されて選択できます.'0'のASCIIコードは0、スペースのASCIIコードは32です.
コード実装:
C++関数プロトタイプ:
void
FormatString(
char
str[],
int
len){
}
まず文字列配列操作で、メモリスペースを申請する必要がなく、下付きで文字にアクセスします.次はスペース文字
列の中のは‘’を表し、‘0’と区別される.
'0'は文字列の終わりを表し、文字列の終わりを表し、スペースは通常の文字で、テキストに表示されて選択できます.'0'のASCIIコードは0、スペースのASCIIコードは32です.
コード実装:
void
FormatString(
char
str[],
int
len)
{
if
(str == NULL || len <= 0)
return
;
int
i = 0, j = 0;
while
(str[i] ==
' '
)
//
i++;
while
(str[i] !=
'\0'
)
{
if
(str[i] ==
' '
&& (str[i+1] ==
' '
|| str[i+1] ==
'\0'
))
{
//
i++;
continue
;
}
str[j++] = str[i++];
}
str[j] =
'\0'
;
}