import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @param n int整型
* @return string字符串
*/
public String trans (String s, int n) {
char[] cs = s.toCharArray();
reverse(cs, 0, cs.length - 1, true);
// 找到每个空格,再翻转一次
int l = 0, r = 0;
while (r < cs.length) {
while (r < cs.length && cs[r] != ' ') r++;
reverse(cs, l, r - 1, false);
r++;
l = r;
}
return String.valueOf(cs);
}
private void reverse(char[] cs, int l, int r, boolean flag) {
while (l <= r) {
// flag = true时,顺便将大小写转换了
char t = flag ? changeCase(cs[l]) : cs[l];
cs[l] = flag ? changeCase(cs[r]) : cs[r];
cs[r] = t;
l++;
r--;
}
}
private char changeCase(char c) {
int diff = 'a' - 'A';
if (c >= 'A' && c <= 'Z') c += diff;
else if (c >= 'a' && c <= 'z') c -= diff;
return c;
}
}