栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

StringBuilder构建字符串

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

StringBuilder构建字符串

482. 密钥格式化

​ 利用StringBuilder构建格式化密钥,因为要求密钥第一组为小于 要求 大小k的组,那么采取倒叙处理最后再反转字符串的方法求解。Character.toUpperCase© 方法处理小写字母。

解答W了两次

第一次
"---"
3
	反思:sb.deleteCharAt(sb.length()-1); 之前一定要判sb.length()-1>=0,否则会越界
第二次
"--a-a-a-a--"
2
	没有考虑到“a---”的情况,最后要用一个循环删除最后的“--”

执行用时:9 ms, 在所有 Java 提交中击败了85.93%的用户

内存消耗:38.5 MB, 在所有 Java 提交中击败了61.20%的用户

class Solution {
    public String licenseKeyFormatting(String s, int k) {
        StringBuilder sb = new StringBuilder();
        int cNum = 0;
        int tonum = 0;
        for(int i = s.length()-1;i>=0;i--){
            
            char c = s.charAt(i);
            if(c!='-'){
                if(c>='a'||c<='z'){
                    sb.append(Character.toUpperCase(c));
                }else{
                    sb.append(c);
                }
               
                cNum++;
                
            }

            if(cNum%k==0&&i!=0&&cNum+toNum!=(cNum/k+cNum)){
                sb.append('-');
                toNum++;
            }
            
        }
        while(sb.length()-1>=0&&sb.toString().charAt(sb.length()-1)=='-'){
            sb.deleteCharAt(sb.length()-1);
        }

        return sb.reverse().toString();

    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/292878.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号