给定一个只包含字母的字符串,按照先小写字母后大写字母的顺序进行排序。
注意事项
小写字母或者大写字母他们之间不一定要保持在原始字符串中的相对位置。
样例
给出"abAcD",一个可能的答案为"acbAD"
挑战
在原地扫描一遍完成
快速排序算法时间复杂度O(n)
class Solution {
public:
/**
* @param chars: The letters array you should sort.
*/
void sortLetters(string &letters) {
// write your code here
int n=letters.size();
int temp;
int j=n-1;
for(int i=0;i<=j;i++){
if(letters[i]>='a'&&letters[i]<='z')
continue;
else{
while(letters[j]>='A'&&letters[j]<='Z'){
if(j<=i)
break;
j--;
}
if(j==i)
break;
temp=letters[i];
letters[i]=letters[j];
letters[j]=temp;
}
}
}
};