在一个字符串中把大写字母放到字符串中小写字母的后面(不能改变字母的相对位置)
设置两个下标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--; } }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。