饥人谷技术博客程序员架构算法设计模式和编程理论

lintcode 字符大小写排列

2016-12-29  本文已影响83人  yzawyx0220

给定一个只包含字母的字符串,按照先小写字母后大写字母的顺序进行排序。
样例
给出"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++;
        }
    }
};

上一篇下一篇

猜你喜欢

热点阅读