616 给字符串添加加粗标签
题目描述:
给一个字符串 s 和一个字符串列表 dict ,你需要将在字符串列表中出现过的 s 的子串添加加粗闭合标签 和 。如果两个子串有重叠部分,你需要把它们一起用一个闭合标签包围起来。同理,如果两个子字符串连续被加粗,那么你也需要把它们合起来用一个加粗标签包围。
样例 1:
输入:
s = “abcxyz123”
dict = [“abc”,“123”]
输出:
“abcxyz123”
样例 2:
输入:
s = “aaabbcc”
dict = [“aaa”,“aab”,“bc”]
输出:
“aaabbcc”
注意:
给定的 dict 中不会有重复的字符串,且字符串数目不会超过 100 。
输入中的所有字符串长度都在范围 [1, 1000] 内。
方法1:
主要思路:
(1)先将字典中的各个单词在字符串中的可能出现的位置进行标识;
(2)然后根据标识的位置,在字符串中出入标签;
class Solution {public:string addBoldTag(string s, vector<string>& dict) {//标识出现过的单词vector<bool> sign(s.size(),false);//将字典中的各个单词在字符串中标识for(string& word:dict){//当前要处理的单词//字符串中的各个位置int pos=0;//遍历字符串的结尾int end_pos=s.size()-word.size()+1;while(pos<end_pos){if(s[pos]==word[0]){int k=0;//判断当前单词是否在字符串的当前位置while(k<word.size()){if(s[pos+k]!=word[k]){break;}++k;}//若在,则对单词进行标识if(k==word.size()){k=0;while(k<word.size()){sign[pos+k]=true;++k;}}}//字符串中的下一个单词++pos;}}//根据标识,插入标签int pos=0;string res;while(pos<s.size()){//若此位置开始,有单词出现if(sign[pos]){res+="<b>";//插入标签前面部分//压入出现过单词的部分while(pos<s.size()&&sign[pos]){res.push_back(s[pos]);++pos;}//插入标签的后面部分res+="</b>";}else{//将非出现单词的部分直接压入结果中res.push_back(s[pos]);++pos;}}return res;}
};
616 给字符串添加加粗标签相关推荐
- LeetCode 616. 给字符串添加加粗标签(Trie树)
文章目录 1. 题目 2. 解题 1. 题目 给一个字符串 s 和一个字符串列表 dict ,你需要将在字符串列表中出现过的 s 的子串添加加粗闭合标签 <b> 和 </b> ...
- html中b标签去加粗,html中b加粗标签的详细介绍
html作为网页最基础的语言是每一个站长必学的语言,今天我们就来了解字体文本标签 b,/b标签的用法及其语义. 字体文本标签讲解标签 字体标签定义字体的显示效果,有些标签它有独自的语义. 标签 感谢您 ...
- HTML <b>加粗与<strong>加粗标签区别
相同点:视觉效果加粗 不同点: b标签:本身不具备HTML语义. WEB标准提倡样式与内容分离,所以纯粹为了达到加粗而使用b标签,已经不建议这样做. st ...
- html字体加粗标签与写法
在html中字体加粗的标签为<b>标签,当我们使用了该标签,字体就会加粗,一般用于注明重要信息,强调文字上面写法如下 字体加粗:<b>这里的字体就会加粗</b> 效 ...
- LeetCode 758. 字符串中的加粗单词(Trie树)
文章目录 1. 题目 2. 解题 1. 题目 给定一个关键词集合 words 和一个字符串 S,将所有 S 中出现的关键词加粗.所有在标签 <b> 和 </b> 中的字母都会加 ...
- 2019-7-22 [HTML] 基本结构 DOCTYPE声明 标签:[title meta 标题 段落 换行 加粗 斜体 下划线] 注释 特殊字符 img标签 a标签
文章目录 0.HTML网页技术(基础) 1 HTML概述 1.1 什么是HTML? 1.2 Hello,HTML! 2 HBuilder的安装与使用 2.1 安装HBuilder 2.2 使创建项目 ...
- 产生粗体字的html标签,html字体加粗用css设置文字粗体样式
html如何加粗文字,HTML加粗标签元素有哪些?CSS字体加粗又怎么来实现?粗体代码是什么? 综合以上问题,可以使用CSS样式和HTML标签两种方法来实现,在实际布局时候根据需要来选择文字字体加粗方 ...
- html如何添加web字体,html中字体如何实现加粗(方法介绍)_WEB前端开发,html,字体加粗...
PS五角星形状使用方法?_WEB前端开发 PS五角星形状使用方法:首先点击左侧工具栏中的"矩形工具"子选项中的"多边形工具":然后点击上方工具栏中的" ...
- 加粗、倾斜、下划线、删除线标签
加粗.倾斜.下划线.删除线标签 源代码 <strong> <strong>和<b>为加粗标签 <b> <em> ...
最新文章
- 【SSH项目实战】国税协同平台-26.分页功能编写
- TCP/IP 协议簇 端口 三次握手 四次挥手 11种状态集
- OpenCV检测ArUco板
- 在Rstudio中点一点就出来了一个R包
- cmd进入控制Mysql出现乱码的问题
- 计算机各种硬盘的规格,硬盘规格参数表大全
- 计算机主机制作过程,计算机主机箱的制作方法
- 把计算机怎么连接手机的网络助手在哪里,手机连接电脑上网,详细教您手机如何连接电脑上网...
- 【数学建模】基于matlab计划生育政策调整对人口数量、结构及其影响的研究【含Matlab源码 749期】
- vmplayer虚拟机中如何找到网络配置的窗口
- linux hotplug 机制,佐须之男的博客- 跟着佐大学Lede/OpenWrt开发入门培训班讲义-18 OpenWrt hotplug 机制分析...
- JAVA扫码点餐(2)-项目过程
- cpu_relax()函数的意义
- 美国亚马逊编辑推荐的一生必读书单100本
- 考研英一----2006年真题知识点总结
- windows下bat脚本实现定时删除指定文件夹下的文件和文件夹
- 数据库原理之候选码的判断方法
- 诺基亚Lumia630开始预订
- Fast-Planner代码阅读-1. Robust and Efficient Quadrotor Trajectory Generation for Fast Autonomous Flight
- java的while、do while循环和案例