leetcode_middle_33_482. License Key Formatting

来源:互联网 发布:医保报销软件 编辑:程序博客网 时间:2024/05/01 23:16

题意:

将一个序列号中的分隔符‘-’删除,再把字母都换成大写。然后每隔K个加一个分隔符‘-’,重新分隔成若干个子序列,(第一个子序列字符个数可以小于等于K个)

分析:

这题思路是直接的至于实现,一看分隔,变大写这些,明显是大量使用String类的方法...

我们需要做的是去掉“-”,变大写,加上它,而且这几者之间是互不影响的。

为了避免过多的条件判断,我们反向处理每次角标减去K的方式来加上“-”


public class Solution {    public String licenseKeyFormatting(String str, int k) {        StringBuilder sb = new StringBuilder(str.toUpperCase().replaceAll("-",""));        for(int i = sb.length()-k; i>0; i-=k)             sb.insert(i, "-");        return sb.toString();     }}



0 0
原创粉丝点击