您的位置:首页 > 其它

在一个字符串中把大写字母放到字符串中小写字母的后面(不能改变字母的相对位置)

2014-12-24 12:07 417 查看
设置两个下标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--;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐