49-字符大小写排序

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

注意事项

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

样例

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

挑战

在原地扫描一遍完成

标签

LintCode 版权所有 字符串处理 排序 两根指针

思路

定义两个指针low和high,low从左至右遍历字符串,high从右自左遍历字符串,
1.当low指向大写字母时,停止遍历;否则向右继续遍历
2.当high指向小写字母时,停止遍历;否则向左继续遍历
3.当low<high时,交换2个指针指向的内容,low++,high--
4.当low<high时,继续步骤1

code

class Solution {
public:/** * @param chars: The letters array you should sort.*/void sortLetters(string &letters) {// write your code hereint low = 0, high = letters.size()-1;while(low < high) {while(letters[low]<='z' && letters[low]>='a') {low++;}while(letters[high]<='Z' && letters[high]>='A') {high--;}if(low < high) {char temp = letters[low];letters[low] = letters[high];letters[high] = temp;low++;high--;}}}
};

转载于:https://www.cnblogs.com/libaoquan/p/7084765.html

lintcode-49-字符大小写排序相关推荐

  1. lintcode :sort letters by case字符大小写排序

    题目 字符大小写排序 给定一个只包含字母的字符串,按照先小写字母后大写字母的顺序进行排序. 您在真实的面试中是否遇到过这个题? Yes 样例 给出"abAcD",一个可能的答案为& ...

  2. 利用 Arrays.sort 字符串 进行排序 完全按字符 排序 忽略字符大小写

    有的时候需要对数组里的element进行排序.当然可以自己编写合适的排序方法,但既然java包里有自带的Arrays.sort排序方法,在数组元素比较少的时候为何不用? Sorting an Arra ...

  3. mysql默认字符集和排序_MySQL字符集和排序规则

    MySQL在创建数据库是,需要设置数据库的字符集和排序规则,如图所示: 我觉得这里有必要解释下字符集和排序规则这两个概念. 字符集 说到字符集,需要先提下字符.字符集和字符编码这几个词的含义. 字符( ...

  4. mysql选择排序规则_关于mysql创建数据库中字符集和排序规则的选择

    1:字符集: 一般 主要选择两种: 1:utf8   (看unicode编码区从1 - 126就属于传统utf8区,),一般都够用,除非需要存储特殊字符 2:utf8mb4(utf8mb4兼容utf8 ...

  5. [华为机试真题][2014]62.去除重复字符并排序

    题目 描述: 去除重复字符并排序 运行时间限制: 无限制 内容限制: 无限制 输入: 字符串 输出: 去除重复字符并排序的字符串 样例输入: aabcdefff 样例输出: abcdef 代码 /*- ...

  6. 代码实现从键盘接收一个字符串, 程序对其中所有字符进行排序,例如键盘输入: helloitcast程序打印:acehillostt...

    package com.loaderman.test;import java.util.Comparator; import java.util.Scanner; import java.util.T ...

  7. mysql 中文字符排序规则_mysql中字符集和排序规则说明

    数据库需要适应各种语言和字符就需要支持不同的字符集(Character Set),每种字符集也有各自的排序规则(Collation). 一.字符集 字符集,即用于定义字符在数据库中的编码的集合. 常见 ...

  8. 设置MySQL排序方式_设置MySQL设置字符集和排序方式

    1. 编辑/etc/my.cnf文件, 在"[client]"下添加"default-character-set=utf8" 2. 编辑/etc/my.cnf文 ...

  9. mysql的四个默认数据库是什么版本,MySQL5.7数据库字符集和排序规则有四个级别的默认设置:服务器,数据库,表和列。...

    MySQL5.7数据库字符集和排序规则有四个级别的默认设置:服务器,数据库,表和列. 最初,服务器字符集和排序规则取决于启动mysqld时使用的选项.可以使用 --character-set-serv ...

最新文章

  1. TCP/IP网络的一些问题(路由/协议/linux的实现)
  2. [转载] 什么是istio 官网内容
  3. 中文字符匹配java_java正则匹配HTML中a标签里的中文字符示例
  4. 最大连续子数组和与JUnit测试
  5. mysql 查看autocommit_手把手教你分析Mysql死锁问题
  6. c# webclient 保存会话信息_winform项目——仿QQ即时通讯程序16:会话列表的存储
  7. glassfish 自定义 jaas realm
  8. 搭建mock-server
  9. C11简洁之道:函数绑定
  10. python中33个保留字的含义_Python的保留字。这是什么意思?
  11. spurious wakeup虚假唤醒
  12. Linux 的日志服务器 详解(Rsyslog)
  13. 抓包安卓7以上ca证书安装方法
  14. python小游戏——魂斗罗这是你的童年吗?
  15. android 蓝牙发送失败怎么办,在Android中通过蓝牙发送文件时出错?
  16. 软件环境 硬件环境java,软件环境和硬件环境都指什么?
  17. linux如何备份内核,Linux 中我该如何备份系统
  18. 【数据结构】稀疏数组
  19. 互联网教育已过时,教育科技才是未来的趋势
  20. PCB正片和负片有什么区别

热门文章

  1. sdut 2087 离散事件模拟-银行管理
  2. Rotate List
  3. Matlab中varargin函数
  4. 【解决方案】无法将grub-efi-amd64-signed软件包安装到/target/【安装Ubuntu】
  5. tf.matmul()研究【Python】
  6. 复合高斯积分(节点数小于等于3的版本Python实现)
  7. 原创:(网格化地图之初)高斯大地座标(经度、纬度)→3°投影带平面直角坐标(X、Y)换算...
  8. springmvc+mybatis+spring+redis
  9. Oracle 表及表空间(一)
  10. darwin转发时,摄像机在3G和4G模式下的参数设置