796. 문자열 회전
난이도: 쉬움
주제: 문자열, 문자열 일치
두 개의 문자열 s와 goal이 주어지면 true를 반환하고 sshift가 s에서 몇 번 반복된 후에 s가 goal이 될 수 있는 경우에만
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의 길이가 같은지 확인합니다. 그렇지 않으면 s를 goal로 변환하는 것이 불가능하므로 즉시 false를 반환합니다.
연결: 문자열 s를 자신과 연결하여 doubleS를 만듭니다.
하위 문자열 검사: strpos() 함수를 사용하여 목표가 doubleS의 하위 문자열로 존재하는지 확인합니다. 그렇다면 true를 반환합니다. 그렇지 않으면 false를 반환합니다.
이 솔루션은 회전을 통해 한 문자열이 다른 문자열이 될 수 있는지 효율적으로 결정합니다.
연락처 링크
이 시리즈가 도움이 되었다면 GitHub에서 저장소에 별표를 표시하거나 즐겨찾는 소셜 네트워크에서 게시물을 공유해 보세요. 여러분의 지원은 저에게 큰 의미가 될 것입니다!
이런 유용한 콘텐츠를 더 원하시면 저를 팔로우해주세요.
위 내용은 . 문자열 회전의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!