2024-1-20
文章目录
- [2788. 按分隔符拆分字符串](https://leetcode.cn/problems/split-strings-by-separator/)
- 思路:
2788. 按分隔符拆分字符串
思路:
- 对于每个单词,使用一个可变字符串
StringBuilder
来构建拆分后的单词。初始时,可变字符串为空。 - 遍历每个单词的每个字符,如果遇到指定的分隔符,就将可变字符串中的字符构成一个新的单词,并将其添加到结果列表中。然后清空可变字符串,准备构建下一个单词。
- 如果遇到的不是分隔符,则将当前字符添加到可变字符串中。
- 最后,如果可变字符串非空,则说明最后一个单词还没有添加到结果列表中,因此需要将其添加到结果列表中。
- 返回拆分后的结果列表。
//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;}
点击移步博客主页,欢迎光临~