문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
문자열 s가 주어졌을 때, 다음 규칙에 따라 문자열을 뒤집어라.
뒤집힌 후 s를 반환해라.
#1
Input: s = "ab-cd"
Output: "dc-ba"
#2
Input: s = "a-bC-dEf-ghIj"
Output: "j-Ih-gfE-dCba"
#3
Input: s = "Test1ng-Leet=code-Q!"
Output: "Qedo1ct-eeLg=ntse-T!"
class Solution {
public String reverseOnlyLetters(String s) {
char[] arr = s.toCharArray();
int start = 0;
int end = arr.length - 1;
while(start < end){
if(Character.isLetter(arr[start]) && Character.isLetter(arr[end])){
char temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}else if(!Character.isLetter(arr[start])){
start++;
}else{
end--;
}
}
return new String(arr);
}
}