ホームページ >バックエンド開発 >PHPチュートリアル >単語が文内の単語の接頭辞として出現するかどうかを確認する
1455。単語が文内の単語の接頭辞として出現するかどうかを確認します
難易度: 簡単
トピック: 2 つのポインター、文字列、文字列のマッチング
単一スペース で区切られたいくつかの単語と searchWord で構成される文がある場合、searchWord が文内の任意の単語の接頭辞であるかどうかを確認します。
文内の単語のインデックスを返します (1-indexed)。searchWord はこの単語の接頭辞です。 searchWord が複数の単語の接頭辞である場合、最初の単語のインデックス (最小インデックス) を返します。そのような単語がない場合は -1 を返します。
文字列 s の 接頭辞 は、s の先頭の連続する部分文字列です。
例 1:
例 2:
例 3:
制約:
ヒント:
解決策:
タスクは次のステップに分割できます:
このソリューションを PHP で実装してみましょう: 1455。単語が文内の単語の接頭辞として出現するかどうかを確認する
<?php /** * @param String $sentence * @param String $searchWord * @return Integer */ function isPrefixOfWord($sentence, $searchWord) { ... ... ... /** * go to ./solution.php */ } // Example Usage: echo isPrefixOfWord("i love eating burger", "burg"); // Output: 4 echo isPrefixOfWord("this problem is an easy problem", "pro"); // Output: 2 echo isPrefixOfWord("i am tired", "you"); // Output: -1 ?>
文を単語に分割する:
文を単語の配列に分割するには、explode(" ", $sentence) を使用します。
単語の反復:
foreach ループを使用して、文内の各単語を反復処理します。 $index 変数は、単語の位置を追跡します (0 からインデックス付けされます)。
プレフィックスをチェックしています:
strpos($word, $searchWord) === 0 を使用して、searchWord が現在の単語の先頭に出現するかどうかを確認します。
結果を返す:
一致するものが見つかった場合は、$index に 1 を加算して、1 から始まる単語のインデックスを返します。ループ後に一致するものが見つからない場合は、-1 を返します。
このソリューションは制約を満たしており、指定された入力サイズに対して効率的です。
連絡先リンク
このシリーズが役立つと思われた場合は、GitHub で リポジトリ にスターを付けるか、お気に入りのソーシャル ネットワークで投稿を共有することを検討してください。あなたのサポートは私にとって大きな意味を持ちます!
このような役立つコンテンツがさらに必要な場合は、お気軽にフォローしてください:
以上が単語が文内の単語の接頭辞として出現するかどうかを確認するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。