zoukankan      html  css  js  c++  java
  • 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();
        }
    
    

  • 相关阅读:
    第三周psp
    作业2
    词频统计 SPEC 20170914 1 1 1 1 1
    psp1111
    第一周大作业1
    mongodb安装操作 (2018/11/12)
    中间件 express生成项目(2018/11/10)
    express环境搭建(2018/11/09)
    后端路由(2018/11/07)
    Node模块的基本使用(2018/11/06)
  • 原文地址:https://www.cnblogs.com/MissWX/p/14040852.html
Copyright © 2011-2022 走看看