专栏首页悠扬前奏的博客LintCode-49. 字符大小写排序

LintCode-49. 字符大小写排序

题目

描述

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

样例

样例 1:
    输入:  "abAcD"
    输出:  "acbAD"

样例 2:
    输入: "ABC"
    输出:  "ABC"

挑战

在原地扫描一遍完成

思路

从两头往中间扫描,大小位置反了的就调换位置。

解答

代码

    public void sortLetters(char[] chars) {
        int i = 0, j = chars.length - 1;
        char a;
        while (i < j) {
            if (chars[i] >= 'a') i++;
            else if (chars[j] <= 'Z') j--;
            else {
                a = chars[i];
                chars[i] = chars[j];
                chars[j] = a;
            }
        }
    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Scala-11.方法

    悠扬前奏
  • Pandas-27.文件读取

    read_csv和readtable()可以将文件中的内容转换为DataFrame对象:

    悠扬前奏
  • MySql规范

    where 1. 条件比较 <=> 可以判断null值,=是不可以判断null值 < > >= <= != <=>

    悠扬前奏
  • Xdebug 攻击面在 PhpStorm 上的现实利用

    在调试 Drupal 远程命令执行漏洞(CVE-2018-7600 && CVE-2018-7602)时,存在一个超大的数组 $form 。在该数组中寻找到注入...

    Seebug漏洞平台
  • LeetCode 917 Reverse Only Letters

    将字符串转为字符数组,用两个指针,从两端向中间走, 依次找下一个字母进行交换,直到两个指针相碰撞。

    一份执着✘
  • React 测试驱动教程

    测试是开发周期中的一个重要组成部分。没有测试的代码被称为:遗留代码。对于我而言,第一次学习 React 和 JavaScript 的时候,感到很有压力。如果你也...

    一个会写诗的程序员
  • 有意思的 lstrip 和 removeprefix(Python 3.9)

    Python 3.9 的新特性中,有两个新的字符串方法:str.removeprefix(prefix, /)、str.removesuffix(suffix,...

    Alan Lee
  • 微软统一预训练语言模型UniLM 2.0解读

    预训练语言模型(Pre-trained Language Model)的应用,使得原本无法针对各种语境变化的静态词向量表征,向着真正基于语境的语义特征表示(Co...

    朴素人工智能
  • Turbinia:一款自动化云端并行数字取证工具

    Turbinia是一款专门用于部署、管理和运行分布式取证任务流的开源框架。该工具可以自动化运行常见的数据取整处理工具,例如Plaso、TSK和strings等等...

    周俊辉
  • 一文学习基于蒙特卡罗的强化学习方法

    用户1737318

扫码关注云+社区

领取腾讯云代金券