> 백엔드 개발 > C++ > 문자열은 다른 문자열의 회전인가요? Java의 간단한 접근 방식.

문자열은 다른 문자열의 회전인가요? Java의 간단한 접근 방식.

Mary-Kate Olsen
풀어 주다: 2024-10-25 01:56:30
원래의
676명이 탐색했습니다.

Is a String a Rotation of Another? A Simple Approach in Java.

한 문자열이 다른 문자열의 회전인지 확인하는 방법

소프트웨어 인터뷰에서 후보자는 두 개의 문자열이 주어지면 다음과 같은 흥미로운 질문에 직면할 수 있습니다. s1과 s2, s1이 s2의 회전 변형인지 어떻게 확인합니까?

문자열이 피벗 지점에서 분할되고 두 부분이 역순으로 다시 연결되면 회전됩니다. . 예를 들어, "stackoverflow"는 "tackoverflows" 또는 "ackoverflowst"로 회전될 수 있습니다.

인터뷰 대상이 제안한 가능한 해결책 중 하나는 s1의 하위 문자열인 s2의 가장 긴 접두사를 찾는 것입니다. 이는 회전점을 식별합니다. 일단 찾으면 s2를 두 개의 하위 문자열로 나누고 그 연결이 s1과 같은지 확인할 수 있습니다.

그러나 면접관은 더 간단한 솔루션을 요청했습니다. 다음 접근 방식을 고려하세요.

  • s1과 s2의 길이가 동일한지 확인하세요.
  • s2가 s1 내의 하위 문자열로 존재하는지 확인하세요. 이는 s1을 자체와 연결하고 다음을 검색하여 얻을 수 있습니다. s2.

Java에서 이 메서드는 다음과 같이 구현할 수 있습니다.

<code class="java">boolean isRotation(String s1,String s2) {
    return (s1.length() == s2.length()) &amp;&amp; ((s1+s1).indexOf(s2) != -1);
}</code>
로그인 후 복사

문자열 연결 및 검색을 사용하여 이 솔루션은 한 문자열이 또.

위 내용은 문자열은 다른 문자열의 회전인가요? Java의 간단한 접근 방식.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿