2017-03-21 7 views
-4

사용자가 "HelloMyNameIs"문자열을 입력하고 예상 출력이 "HelloemaNyMIs"라고 가정 해 보겠습니다.String 내에서 부분 문자열을 역전시키는 가장 효율적인 방법은 무엇입니까?

역순으로 처리 할 부분 문자열의 시작 및 끝 인덱스도 제공됩니다.

저는 위의 과정을 여러 번 반복 할 예정이므로 효율적인 방법을 찾고있었습니다. 또한 전체 문자열 만의 StringBuilder 사용할 수

+0

지금까지 해보신 것은 무엇입니까? – khelwood

+1

새 문자열 복사를 첫 번째 부분으로 만들고, 뒤쪽에 중간 부분을 추가 한 다음 세 번째 부분을 추가하십시오. – DeeJay

+1

적절하게 태그하십시오. 이것은 [tag : programming-languages] 태그와 아무 관련이 없습니다. –

답변

2
public String reverseSubstring(String text, int startIndex, int endIndex) { 
    String result = text.substring(0,startIndex); //before reversing 
    result += new StringBuilder(text.substring(startIndex,endIndex)).reverse().toString(); //reversed part 
    result += text.substring(endIndex); //after reversing 
    return result; 
} 

, 방금 (반전 전에 일부를 반전 및 반전 후) 세 부분으로 분할하여 여기에 더 읽기했다.