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

2024-1-20

2788. 按分隔符拆分字符串

在这里插入图片描述

思路:
  1. 对于每个单词,使用一个可变字符串 StringBuilder 来构建拆分后的单词。初始时,可变字符串为空。
  2. 遍历每个单词的每个字符,如果遇到指定的分隔符,就将可变字符串中的字符构成一个新的单词,并将其添加到结果列表中。然后清空可变字符串,准备构建下一个单词。
  3. 如果遇到的不是分隔符,则将当前字符添加到可变字符串中。
  4. 最后,如果可变字符串非空,则说明最后一个单词还没有添加到结果列表中,因此需要将其添加到结果列表中。
  5. 返回拆分后的结果列表。
//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;
    }

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

偷cyk的图

相关推荐

  1. leetcode-2788分隔符字符串

    2024-01-21 16:26:02       56 阅读
  2. leetcode 2788分隔符字符串

    2024-01-21 16:26:02       58 阅读
  3. 【力扣每日】力扣2788分隔符字符串

    2024-01-21 16:26:02       56 阅读
  4. 力扣2788-分隔符字符串

    2024-01-21 16:26:02       53 阅读
  5. 【康复学习--LeetCode每日2288. 价格减免

    2024-01-21 16:26:02       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-21 16:26:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-21 16:26:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-21 16:26:02       82 阅读
  4. Python语言-面向对象

    2024-01-21 16:26:02       91 阅读

热门阅读

  1. Vue待办事项(组件,模块化)

    2024-01-21 16:26:02       45 阅读
  2. python生成列表坑

    2024-01-21 16:26:02       62 阅读
  3. react mac 安装

    2024-01-21 16:26:02       51 阅读
  4. chatgpt和文心一言哪个更好用?更智能?

    2024-01-21 16:26:02       60 阅读
  5. 三、05-ansible安装

    2024-01-21 16:26:02       59 阅读
  6. Ansible

    2024-01-21 16:26:02       43 阅读
  7. go里面几个并发案例

    2024-01-21 16:26:02       59 阅读
  8. 如何处理html5新标签的浏览器兼容问题?

    2024-01-21 16:26:02       54 阅读
  9. 7-11 尾数a*b

    2024-01-21 16:26:02       60 阅读
  10. 数据结构之小结

    2024-01-21 16:26:02       56 阅读