한 문자열이 다른 문자열의 회전인지 확인하는 방법
소프트웨어 인터뷰에서 후보자는 두 개의 문자열이 주어지면 다음과 같은 흥미로운 질문에 직면할 수 있습니다. s1과 s2, s1이 s2의 회전 변형인지 어떻게 확인합니까?
문자열이 피벗 지점에서 분할되고 두 부분이 역순으로 다시 연결되면 회전됩니다. . 예를 들어, "stackoverflow"는 "tackoverflows" 또는 "ackoverflowst"로 회전될 수 있습니다.
인터뷰 대상이 제안한 가능한 해결책 중 하나는 s1의 하위 문자열인 s2의 가장 긴 접두사를 찾는 것입니다. 이는 회전점을 식별합니다. 일단 찾으면 s2를 두 개의 하위 문자열로 나누고 그 연결이 s1과 같은지 확인할 수 있습니다.
그러나 면접관은 더 간단한 솔루션을 요청했습니다. 다음 접근 방식을 고려하세요.
Java에서 이 메서드는 다음과 같이 구현할 수 있습니다.
<code class="java">boolean isRotation(String s1,String s2) { return (s1.length() == s2.length()) && ((s1+s1).indexOf(s2) != -1); }</code>
문자열 연결 및 검색을 사용하여 이 솔루션은 한 문자열이 또.
위 내용은 문자열은 다른 문자열의 회전인가요? Java의 간단한 접근 방식.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!