Leetcode 2788. 按分隔符拆分字符串

这篇具有很好参考价值的文章主要介绍了Leetcode 2788. 按分隔符拆分字符串。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Leetcode 2788. 按分隔符拆分字符串,leetcode,算法,职场和发展
我们可以先自己模拟一下分隔字符串的过程。如果只是简单的,遇到分隔符,将分隔符前后的子串加入结果的List,那么很显然并没有考虑到一个String中有多个字符串的情况。一种比较容易想到的方法是:

  1. 先对List中每个字符串遍历;
  2. 对于每个字符串内部,维护一个缓冲区;
  3. 遍历一个字符串时,若遇到分隔符,且缓冲区不为空,则将缓冲区内容加入result,并清空缓冲区;若未遇到分隔符,则将当前字符加入缓冲区;
  4. 遍历完该字符串后,还要检查一边缓冲区,若不为空,将剩余字符串也加入result;
  5. 对每个字符串重复2-4步的操作即可。

实现代码如下:文章来源地址https://www.toymoban.com/news/detail-811240.html

class Solution {
 public List<String> splitWordsBySeparator(List<String> words, char separator) {
    	List<String> res = new ArrayList<>();
    	for(String str:words) {
    		//相当于为每个单词维护一个临时缓冲区
    		StringBuilder sb = new StringBuilder();
    		for(int i=0;i<str.length();i++) {
    			//若遇到分隔符,且缓冲区不为空
    			//将缓冲区内容加入res,清空缓冲区
    			if(str.charAt(i)==separator) {
    				if(sb.length()>0) {
    					res.add(sb.toString());
    					sb.setLength(0);
    				}
    			}
    			//若未遇到分隔符,则当前字符加入缓冲区sb
    			else {
    				sb.append(str.charAt(i));//这个append方法是用StringBuilder的关键
    			}
    		}
    		//遍历完成后,若缓冲区还有剩余字符,全部加入res
    		if(sb.length()>0) {
    			res.add(sb.toString());
    		}
    	}
    	return res;
    }
}

到了这里,关于Leetcode 2788. 按分隔符拆分字符串的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 力扣2788-按分隔符拆分字符串

    题目链接 解题思路: 1 .传参是一个字符串数组,我们需要对每一个字符串处理 2 .解题中e是字符串数组中的每一个字符串 3 .i是每个字符串的下标,n为每个字符串的大小 4 .遍历整个字符串 5 .start是要切割的位置

    2024年01月20日
    浏览(41)
  • day-15 按分隔符拆分字符串

    思路 依次对words的每个字符进行split(),然后将非空的加入List 解题方法 String arr[]=s.split(ss);利用split()方法将words的每个字符串划分为String数组 if(arr[i]!=“”) //将非空的加入 list.add(arr[i]); String ss=“”+separator; //使用转义字符 时间复杂度: O(mn) 空间复杂度: O(n) Code

    2024年01月20日
    浏览(35)
  • 在 Python 中拆分具有多个分隔符的字符串

    要使用多个定界符拆分字符串: 使用 re.split() 方法,例如 re.split(r\\\',|-\\\', my_str) 。 re.split() 方法将拆分所有出现的分隔符之一的字符串。 re.split 方法接受一个模式和一个字符串,并在每次出现该模式时拆分字符串。 管道 | 字符是一个或。 匹配 A 或 B。 该示例使用 2 个分隔符(

    2024年02月15日
    浏览(33)
  • 最优字符串分隔符:零宽度空格和字符

    在文本处理和格式化中,选择合适的分隔符是至关重要的。 本文将在介绍两个不常见但功能强大的分隔符:零宽度空格和𐀀字符。 零宽度空格是Unicode字符集中的一个特殊字符,其Unicode编码为U+200B。 零宽度空格在文本中不占据任何宽度,因此是一个不可见的分隔符。 主要应

    2024年02月21日
    浏览(34)
  • 按分隔符分割字符串(DB2/mysql/hive/Oracle)

    1、DB2 --substr+locate/instr DB2没有自己按分隔符分割字符串的函数,只能结合使用 或者在DB2里还可以自己写一个split分割字符串的函数 附:instr函数用法--用来查找指定字符在字符串中出现的位置 DB2中的locate 函数可实现同样的功能,用法同 instr ,只是源字符串和目标字符串的位

    2024年02月13日
    浏览(44)
  • 【Hive】分隔符 『 单字节分隔符 | 多字节分隔符』

    在创建表时,可以使用 row format ... 指定分隔符形式。比如: 但是,根据原始数据分隔符的复杂程度,需要指定不同的分隔形式。比如: 情况一:分隔符为单字节 分隔符为多字节 字段中包含了分隔符 方法:使用delimited 加上 delimited ,即使用 row format delimited :用

    2024年02月13日
    浏览(41)
  • hive 分隔符

    在 Hive 中,分隔符用于指定数据文件中字段之间的分隔符。当你创建外部表或加载数据文件时,你可以指定分隔符,以便 Hive 正确地解析文件中的数据。 1. 创建外部表时指定分隔符: 当你创建外部表时,可以使用 ROW FORMAT 子句来指定数据文件中字段的分隔符。例如,如果你

    2024年02月09日
    浏览(35)
  • Hive建表时,指定分隔符

     一.建表语句 二.语句分析 ROW FORMAT DELIMITED FIELDS TERMINATED BY \\\',\\\' : 这个子句表明Hive将使用 \\\',\\\' 字符作为列分隔符,即分隔字段。 ROW FORMAT DELIMITED COLLECTION items terminated BY \\\'_\\\'  :这个子句表明Hive将使用 \\\'_\\\' 作为集合元素间的分隔符。 ROW FORMAT DELIMITED MAP KEYS TERMINATED BY \\\':\\\' :这个

    2024年02月11日
    浏览(40)
  • word的分隔符和分页符

    分隔符和分页符在Word中都是用于文本分段的工具,但它们的用途和操作方式有所不同。 分隔符是一个广义的概念,包括分页符、分节符和分栏符等。它是一种统称,可以将一个完整的文本内容分成两个或更多的部分。在将表格转换为文本时,分隔符用于标识文字分隔的位置

    2024年02月08日
    浏览(35)
  • mysql数据库使用sql对特殊分隔符分隔的字段进行统计

    需求 在一个数据库表中有一个字段中的数据是通过特殊符号进行分隔的,现需要统计分隔符分开的各数据的条数。 数据准备  现需统计各个绝技的人数☺ 思路 使用sql根据逗号将一行数据拆分成多行数据 ,然后使用group by对拆分的数据进行统计。 三种方式,相同的原理 使用

    2023年04月17日
    浏览(91)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包