首页 > 编程语言 > 详细

lintcode 中等题:sort letters by case字符大小写排序

时间:2016-01-05 20:45:07      阅读:219      评论:0      收藏:0      [点我收藏+]

题目

字符大小写排序 

给定一个只包含字母的字符串,按照先小写字母后大写字母的顺序进行排序。

样例

给出"abAcD",一个可能的答案为"acbAD"

注意

小写字母或者大写字母他们之间不一定要保持在原始字符串中的相对位置。

挑战

在原地扫描一遍完成

解题

这个题目很简单,前面刚做一个把大于某个数之和的排在后面,快速排序的思想

技术分享
public class Solution {
    /** 
     *@param chars: The letter array you should sort by Case
     *@return: void
     */
    public void sortLetters(char[] chars) {
        //write your code here
        int len = chars.length;
        if(len ==0 || chars==null){
            
        }else{
            int i=0;
            int j=len-1;
            while(i<=j){
                while(i<=j && isLowerCase(chars[i])) i++;
                while(i<=j && isUpperCase(chars[j])) j--;
                if(i<=j){
                    char ch = chars[i];
                    chars[i] = chars[j];
                    chars[j] = ch;
                }
            }
        }
        
    }
    public boolean isLowerCase(char ch){
        if(ch>=‘a‘ && ch<=‘z‘)
            return true;
        return false;
    }
    public boolean isUpperCase(char ch){
        if(ch>=‘A‘ && ch<=‘Z‘)
            return true;
        return false;
    }
    
}
Java Code

 

lintcode 中等题:sort letters by case字符大小写排序

原文:http://www.cnblogs.com/theskulls/p/5103569.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!