题目:字符大小写排序
2015-09-21 09:48
281 查看
给定一个只包含字母的字符串,按照先小写字母后大写字母的顺序进行排序。
您在真实的面试中是否遇到过这个题?
Yes
样例
给出"abAcD",一个可能的答案为"acbAD"
注意
小写字母或者大写字母他们之间不一定要保持在原始字符串中的相对位置。
挑战
在原地扫描一遍完成
标签 Expand
解题思路:
双指针,时间复杂度O(n)
给定一个只包含字母的字符串,按照先小写字母后大写字母的顺序进行排序。
您在真实的面试中是否遇到过这个题?
Yes
样例
给出"abAcD",一个可能的答案为"acbAD"
注意
小写字母或者大写字母他们之间不一定要保持在原始字符串中的相对位置。
挑战
在原地扫描一遍完成
标签 Expand
解题思路:
双指针,时间复杂度O(n)
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(null==chars||0==chars.length) return ; int start = 0;int end = chars.length-1; while(start<end){ while(start<end&&chars[start]>='a'){ start++; } while(end>=0&&chars[end]<'a'){ end--; } if(start<end){ //交换 char tmp = chars[start]; chars[start] = chars[end]; chars[end] = tmp; start++; end--; } } } }
相关文章推荐
- 动态代理深入分析一
- hihocoder 1228 大模拟
- 题目:子集
- 设计模式 --> 代理模式(二)(源码模拟改进)
- Linux学习记录(11)LVM的基本概念和操作
- 响应式布局简介
- 解决axis2处理java.util.Date类型对象时丢弃时间部分的问题
- <C/C++算法> 图论基础算法小结(邻接矩阵实现)
- Linux下的一些I/O统计工具
- 题目:复制带随机指针的链表
- 洛谷1220关路灯
- Java Log4j配置说明
- 学习笔记02
- Spring MVC异常统一处理(包括普通请求异常以及ajax请求异常)
- 大数据笔记11:MapReduce的运行流程
- poipdfsolr学习相关网址
- Java中List<>的用法
- Node.js 笔记(一) nodejs、npm、express安装
- 滋阴
- linux ssh 使用深度解析(key登录详解)