设置两个下标p1、p2
同时指向字符串的末尾,让p1找到第一次出现为大写的字母的位置,然后从p1至p2两两交换,之后让p1--,p2--,重复以上,直到p1小于0为止
public void swapCharacter(char[] ch){
if(null==ch||0==ch.length)return;
int p1 =ch.length-1;
int p2 =ch.length-1;
while(p1>=0){
while(p1>=0&&ch[p1]>='a'&&ch[p1]<='z'){
p1--;
}
int index = p1;
while(index>=0&&index!=p2){
char t = ch[index];
ch[index] = ch[index+1];
ch[index+1] = t;
index++;
}
p2--;
p1--;
}
}