Leetcode第 276 场周赛-第一题5980. 将字符串拆分为若干长度为 k 的组

Leetcode第 276 场周赛-第一题5980. 将字符串拆分为若干长度为 k 的组,第1张

Leetcode第 276 场周赛-第一题5980. 将字符串拆分为若干长度为 k 的组  题目

 

5980. 将字符串拆分为若干长度为 k 的组 - 力扣(LeetCode) (leetcode-cn.com)

解题思路

原本以为是几行代码就搞定了,但写起来还是有点复杂,功力还是不够

解题代码

import java.util.ArrayList;

public class Solution5980 {

    public String[] divideString(String s, int k, char fill) {

        int n = s.length();
        ArrayList arrayList = new ArrayList<>();
        int i = 0;
        StringBuilder stringBuilder = new StringBuilder();
        while (i < n) {
            stringBuilder.append(s.charAt(i));
            i++;
            if (i % k == 0) {
                arrayList.add(stringBuilder.toString());
                stringBuilder.delete(0, stringBuilder.length());
            }

        }

        if (stringBuilder.length() == 0) {
            return toArray(arrayList);
        }
        while (stringBuilder.length() < k) {
            stringBuilder.append(fill);
        }
        arrayList.add(stringBuilder.toString());
        return toArray(arrayList);

    }

    private String[] toArray(ArrayList arrayList) {
        String[] strings = new String[arrayList.size()];
        for (int k = 0; k < arrayList.size(); k++) {
            strings[k] = arrayList.get(k);
        }
        return strings;

    }

}
解题结果

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5707357.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存