[LeetCode] 344。リバース文字列★

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/xingyu97/article/details/100510217

タイトル説明

文字列を反転させる機能を記述します。文字の配列[]は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パーセント。
题后反思:

  1. 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パーセント。
题后反思:无

本論文では、私の個人的理解、間違った場所に歓迎のコメントは以下を教えている場合、私は速やかに修正し、一般的な進歩であります

おすすめ

転載: blog.csdn.net/xingyu97/article/details/100510217