Given a string which contains only letters. Sort it by lower case first and upper case second.

Note
It's not necessary to keep the original order of lower-case letters and upper case letters. Example
For "abAcD", a reasonable answer is "acbAD" Challenge
Do it in one-pass and in-place.

Two Pointers:

 public class Solution {
/**
*@param chars: The letter array you should sort by Case
*@return: void
*/
public void sortLetters(char[] chars) {
//write your code here
if (chars==null || chars.length==0) return;
int l=0, r=chars.length-1;
while (true) {
while (l<r && isLower(chars, l)) {
l++;
}
while (l<r && isUpper(chars, r)) {
r--;
}
if (l == r) break;
swap(chars, l, r);
}
} public boolean isLower(char[] chars, int index) {
if (chars[index]>='a' && chars[index]<='z') return true;
else return false;
} public boolean isUpper(char[] chars, int index) {
if (chars[index]>='A' && chars[index]<='Z') return true;
else return false;
} public void swap(char[] chars, int l, int r) {
char temp = chars[l];
chars[l] = chars[r];
chars[r] = temp;
}
}

最新文章

  1. MVC学习系列——Filter扩展
  2. X64操作系统组件Jmail无法正常服务问题
  3. salesforce 零基础学习(三十七) DML及Database方法简单描述
  4. contentProvider
  5. CasperJS基于PhantomJS抓取页面
  6. 【转】让itunes下载加速的真正办法,转向至香港台湾澳门苹果服务器 -- 不错不错!!!
  7. ETL控件学习之一从数据库导出数据到平面
  8. gcc编译通过,运行却显示“段错误”的解决方法
  9. HTML&amp;javaSkcript&amp;CSS&amp;jQuery&amp;ajax(11)
  10. kickstart ---无人值守安装
  11. 从零开始学 Web 之 移动Web(八)Less
  12. Dubbo -- 系统学习 笔记 -- 快速启动
  13. Codefoces 432C Prime Swaps(数论+贪心)
  14. 20165205 2017-2018-2 《Java程序设计》 第二周学习总结
  15. 程序员 vs HR(皮这么一下很开心)
  16. DPDK环境搭建
  17. Ionic2 自学须知的基本知识点
  18. Git fetch &amp; pull 区别
  19. 深入浅出SharePoint——定制保存Item按钮
  20. C#读取Excel技术概览

热门文章

  1. Amazon captcha
  2. filesort
  3. P2296 寻找道路
  4. HD 1003 Max Sum 的递归解法
  5. php--递归调用
  6. linux下安装memcache以及开启memcache扩展
  7. Solr4+IKAnalyzer的安装配置
  8. [LeetCode]题解(python):110 Balanced Binary Tree
  9. [LeetCode]题解(python):102 Binary Tree Level Order Traversal
  10. JS-007-富文本域操作