796。旋轉字串
難度:簡單
主題: 字串、字串符合
給定兩個字串 s 和目標,當且僅當 s 在 s 上經過一定次數的 轉變 後可以成為目標時,回傳 true。
s 上的 shift 包含將 s 最左邊的字元移到最右邊的位置。
範例1:
範例2:
約束:
解:
我們可以利用字串連接的特性。具體來說,如果我們將字串 s 與其自身連接(即 s s),則 s 的所有可能旋轉都會顯示為該連接字串中的子字串。這使我們可以簡單地檢查 goal 是否是 s 的子字串。
讓我們用 PHP 實作這個解:796。旋轉字串
<?php /** * @param String $s * @param String $goal * @return Boolean */ function rotateString($s, $goal) { ... ... ... /** * go to ./solution.php */ ?>
長度檢查:我們先檢查 s 和 goal 的長度是否相同。如果不是,我們立即回傳 false,因為 s 不可能轉換為目標。
串聯:我們將字串 s 與其自身連接起來以建立 doubleS。
子字串檢查:我們使用 strpos() 函數來檢查 goal 是否作為 doubleS 中的子字串存在。如果是,我們回傳 true;否則,我們回傳 false。
該解決方案有效地確定一個字串是否可以透過旋轉變成另一個字串。
聯絡連結
如果您發現本系列有幫助,請考慮在 GitHub 上給 存儲庫 一個星號或在您最喜歡的社交網絡上分享該帖子? 。您的支持對我來說意義重大!
如果您想要更多類似的有用內容,請隨時關注我:
以上是。旋轉字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!