import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @param n int整型
* @return string字符串
*/
public String trans (String s, int n) {
// write code here
StringBuilder reverse = new StringBuilder();
int j;
int i = j = n - 1;
while (i >= 0) {
while (i >= 0 && s.charAt(i) != ' ') {
i --;
continue;
}
int start = i + 1;
for (; start <= j; start ++ ) {
char c = s.charAt(start);
if (c >= 'A' && c <= 'Z') c += ('a' - 'A');
else if (c >= 'a' && c <= 'z') c -= ('a' - 'A');
reverse.append(c);
}
if (i != -1) reverse.append(' ');
i --;
j = i;
}
return reverse.toString();
}
}
while(i >= 0)
这种类型的判断不能随意写,要根据最边界的范围,可以用极限来考虑,也可以正常算,i = -1的时候,肯定是最左边第一个字符,所以i >= 0