给定一个只包含字母的字符串,按照先小写字母后大写字母的顺序进行排序。
样例
给出"abAcD",一个可能的答案为"acbAD"。
比较简单的题,设置两个指针,一个在字符串的开头,一个在末尾,使最开始的字符和'a‘比较,小于’a'即为大写字母,和后面的第j个位置交换,接着比较,以此类推,有点像快速排序。
class Solution {
public:
/**
* @param chars: The letters array you should sort.
*/
void sortLetters(string &letters) {
// write your code here
for (int i = 0,j = letters.size()-1;i < j;) {
if (letters[i] < 'a') {
swap (letters[i],letters[j]);
j--;
}
else i++;
}
}
};
网友评论