• letcode每日一题-上升下降字符串


    昨天工作有点忙,题目做了没来得及记录,今天补一下!!!

    题目描述:

    思路: 1.要想再次对字符进行升序和降序的排列,首先我们要把字符从小到大排列,并且要记录次数
    2.最后的提示说s 只包含小写英文字母。,所以我们只需要用一个26长度的int数组就可以在记录字符
    出现次数的同时进行排序了,应为小写英文字母也就26个。
    3.按照题意先对字符进行升序拼接,再进行倒序拼接,直到拼接结束。
    代码如下:

    
    
    public String sortString(String s) {
            int[] count = new int[26];
            for (int i = 0; i < s.length(); i++) {
                count[s.charAt(i) - 'a'] += 1;
            }
            StringBuilder result = new StringBuilder();
            while (result.length() < s.length()) {
                for (int i = 0; i < count.length; i++) {
                    if (count[i] > 0) {
                        result.append(((char) (i + 'a')));
                        count[i]--;
                    }
                }
                for (int i = count.length - 1; i >= 0; i--) {
                    if (count[i] > 0) {
                        result.append(((char) (i + 'a')));
                        count[i]--;
                    }
                }
            }
            return result.toString();
        }
    
    

  • 相关阅读:
    python 读execl文件
    git 命令 个人备忘录
    python-django后端,富文本编辑器防XSS漏洞攻击,过滤富文本XSS
    mi
    Glance docker安装 cinder
    keystore glance
    openstack管理docker管理
    lvm 磁盘 数据库 wordpress 参考答案
    docker
    wordpress
  • 原文地址:https://www.cnblogs.com/MissWX/p/14040852.html
Copyright © 2020-2023  润新知