免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
日々のプログラミングの問題
タイトル説明
文字列を反転させる機能を記述します。文字の配列[]はcharとして入力文字列が与えられます。
あなたはO(1)余分なメモリをインプレース入力配列を変更することでこれを行う必要があり、別のアレイのための余分なスペースを割り当てないでください。
あなたはすべての文字がで構成すると仮定して印字可能なASCII文字。
タイトル効果:逆テキスト
サンプル
例1:
入力:[「H」、「E」、「L」、「L」、「O」]
出力:[「O」、「L」、「L」、「E」、「H」]
例2:
入力:[「H」、「A」、「N」、「N」、「A」、「H」]
出力:[「H」、「A」、「N」、「N」、「A」、 「H」]
Pythonのソリューション
class Solution:
def reverseString(self, s: List[str]) -> None:
"""
Do not return anything, modify s in-place instead.
"""
s.reverse()
ランタイム:220ミリ、リバース文字列のためのpython3オンライン提出の高速化よりも97.41パーセント。
メモリ使用率:17.8メガバイト、リバース文字列のためのpython3オンライン提出未満の10.46パーセント。
题后反思:
- Pythonのリストは、逆を達成し、直接オブジェクト自体を変更しました。
C言語ソリューション
void reverseString(char* s, int sSize){
char c;
for (int i=0;i<sSize/2;i++)
{
c = s[i];
s[i] = s[sSize-i-1];
s[sSize-i-1] = c;
}
}
ランタイム:48ミリ秒、リバース文字列のためのCオンライン提出の66.14パーセントよりも速いです。
メモリ使用率:13.6メガバイト、リバース文字列のためのCオンライン提出未満の40.00パーセント。
题后反思:无
本論文では、私の個人的理解、間違った場所に歓迎のコメントは以下を教えている場合、私は速やかに修正し、一般的な進歩であります