【LeetCode每日一题】2788. 按分隔符拆分字符串

2024-1-20

文章目录

2788. 按分隔符拆分字符串
思路:
  1. 对于每个单词,使用一个可变字符串 StringBuilder 来构建拆分后的单词。初始时,可变字符串为空。
  2. 遍历每个单词的每个字符,如果遇到指定的分隔符,就将可变字符串中的字符构成一个新的单词,并将其添加到结果列表中。然后清空可变字符串,准备构建下一个单词。
  3. 如果遇到的不是分隔符,则将当前字符添加到可变字符串中。
  4. 最后,如果可变字符串非空,则说明最后一个单词还没有添加到结果列表中,因此需要将其添加到结果列表中。
  5. 返回拆分后的结果列表。
java 复制代码
//2788. 按分隔符拆分字符串
    public List<String> splitWordsBySeparator(List<String> words, char separator) {
        // 创建一个新的字符串列表,用于存储拆分后的结果
        List<String> res = new ArrayList<>();

        // 遍历原始字符串列表中的每个单词
        for (String word : words) {
            // 创建一个可变字符串,用于构建拆分后的单词
            StringBuilder sb = new StringBuilder();

            // 获取当前单词的长度
            int length = word.length();

            // 遍历当前单词的每个字符
            for (int i = 0; i < length; i++) {
                // 获取当前字符
                char c = word.charAt(i);

                // 如果当前字符是分隔符
                if (c == separator) {
                    // 如果可变字符串不为空,则将其添加到结果列表中,并清空可变字符串
                    if (sb.length() > 0) {
                        res.add(sb.toString());
                        sb.setLength(0);
                    }
                } else {
                    // 如果当前字符不是分隔符,则将其添加到可变字符串中
                    sb.append(c);
                }
            }

            // 如果可变字符串不为空,则将其添加到结果列表中
            if (sb.length() > 0) {
                res.add(sb.toString());
            }
        }

        // 返回拆分后的字符串列表
        return res;
    }

点击移步博客主页,欢迎光临~

相关推荐
hanlin0341 分钟前
刷题笔记:力扣第84题-柱状图中最大的矩形
笔记·算法·leetcode
青少儿编程课堂1 小时前
威佐夫博弈(双堆取子游戏)解析
c++·python·算法·bfs·信息学竞赛
辰烨chenye6 小时前
LeetCode Hot 100 题解 · 普通数组篇
算法·leetcode·职场和发展
hqyjzsb9 小时前
零 AI 项目经验,学 Python 转型 AI 的正确顺序是什么?
开发语言·人工智能·python·算法·职场和发展·数据挖掘·数据分析
辰烨chenye9 小时前
LeetCode Hot 100 题解 · 二分篇
java·算法·leetcode
微功夫信息技术9 小时前
分层多智能体强化学习驱动的非急救转运公平 - 效率统一调度系统研究与实践
人工智能·学习·算法·动态规划
sanjiaomao33310 小时前
从论文公式到Python实现:用单元测试校验滑动平均算法
python·算法·单元测试
乐迪信息10 小时前
如何通过AI防爆摄像机精准判断船舶超速?
大数据·人工智能·算法·安全·目标跟踪
Interview Aid11210 小时前
Walmart Global Tech SDE 三轮面经|基础、并发、压力面
面试·职场和发展
大圣编蚕11 小时前
Java ByteArrayInputStream 详解:从入门到实战
java·开发语言·算法