zoukankan      html  css  js  c++  java
  • 482. License Key Formatting

    Question

    482. License Key Formatting

    Solution

    思路:字符串转化为char数组,从后遍历,如果是大写字母就转化为小写字母,如果是-就忽略,如果遍历了k个字符(排除-)就追加一个-

    Java实现1:insert版(StringBuilder的append()与insert()效率比较)

    public String licenseKeyFormatting(String S, int K) {
        StringBuilder sb = new StringBuilder();
        char[] arr = S.toCharArray();
        int count = 0;
        for (int i = arr.length - 1; i >= 0; i--) {
            char c = arr[i];
            if (c == '-') continue;
            if (count % K == 0) sb.insert(0, '-');
            if (c >= 'a' && c <= 'z') c -= 32;
            sb.insert(0, c);
            count++;
        }
        // return sb.substring(0, sb.length() - 1); // "---" 不通过
        return sb.length() > 0 ? sb.substring(0, sb.length() - 1) : "";
    }
    

    Java实现2:append版

    public String licenseKeyFormatting(String S, int K) {
        StringBuilder sb = new StringBuilder();
        // char[] arr = S.toCharArray();
        int count = 0;
        for (int i = S.length() - 1; i >= 0; i--) {
            char c = S.charAt(i);
            if (c == '-') continue;
            if (count % K == 0) sb.append('-');//sb.insert(0, '-');
            if (c >= 'a' && c <= 'z') c -= 32;
            sb.append(c);// sb.insert(0, c);
            count++;
        }
        // return sb.substring(0, sb.length() - 1); // "---" 不通过
        return sb.length() > 0 ? sb.reverse().substring(0, sb.length()-1) : "";
    }
    

  • 相关阅读:
    基本数据结构:链表(list)
    字符串函数
    TCHAR
    开源库链接
    视频 链接
    tabbar
    加密
    安全类链接,https
    资本
    审核 -链接 - 发布证书
  • 原文地址:https://www.cnblogs.com/okokabcd/p/9206536.html
Copyright © 2011-2022 走看看