文字列プログラム:単語の反転

文字列内の単語の順序を反転させたい場合を考えます。多くの人はこれを難しいと考えがちですが、論理的な手順に従えば簡単です。

目標: "YOU ARE HOW" を "HOW ARE YOU" に変換する。

ロジック: 各単語の開始位置と終了位置を見つける必要があります。

  1. 文字列の先頭を開始点として設定します。
  2. 最後の文字を終了点として設定します。
  3. 文字列を最後の文字から最初の文字に向かって逆方向に進めます。
  4. スペースまたは文字列の先頭を探します。
  5. スペースを見つけたら、単語が見つかったことになります。
  6. その単語を抽出して、結果に追加します。
  7. 単語の後にスペースを追加します。
  8. 終了点を前の単語の位置に移動します。
  9. 先頭に到達するまで繰り返します。

コード:

let start = 0;
let sen = "YOU ARE HOW";
let len = sen.length - 1;
let end = len;
let result = "";  

for (let i = end; i >= 0; i--) {
    if (sen[i] == " " || i == 0) {
        if (i == 0) {
            start = i;        
        } else {
            start = i + 1;
        }

        for (let j = start; j <= end; j++) {
            result += sen[j];
        }
        result += " ";
        end = i - 1;
    }
}

console.log(result);

この手法は、単語の境界を特定することで機能します。ループとインデックスを使用して文字列を操作する方法を理解するのに役立ちます。

出典: https://dev.to/harini_magesh_fa40041cf8d/string-program-2e3g