zoukankan      html  css  js  c++  java
  • lintcode :sort letters by case字符大小写排序

    题目

    字符大小写排序 

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

    样例

    给出"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
  • 相关阅读:
    Android安全机制
    service不死之身
    图片加载机制比较
    handler机制面试
    SharedPreferences封装类
    文字太长自动缩小
    ANR
    onCreate源码分析
    线程池的启动策略
    Oauth认证协议
  • 原文地址:https://www.cnblogs.com/theskulls/p/5103569.html
Copyright © 2011-2022 走看看