0616. Add Bold Tag in String

https://leetcode.com/problems/add-bold-tag-in-string

Description

You are given a string s and an array of strings words. You should add a closed pair of bold tag <b> and </b> to wrap the substrings in s that exist in words. If two such substrings overlap, you should wrap them together with only one pair of closed bold-tag. If two substrings wrapped by bold tags are consecutive, you should combine them.

Return s after adding the bold tags.

Example 1:

**Input:** s = "abcxyz123", words = ["abc","123"]
**Output:** "<b>abc</b>xyz<b>123</b>"

Example 2:

**Input:** s = "aaabbcc", words = ["aaa","aab","bc"]
**Output:** "<b>aaabbc</b>c"

Constraints:

  • 1 <= s.length <= 1000

  • 0 <= words.length <= 100

  • 1 <= words[i].length <= 1000

  • s and words[i] consist of English letters and digits.

  • All the values of words are unique.

Note: This question is the same as 758: https://leetcode.com/problems/bold-words-in-string/

ac

The key is cover[i], sometimes you may use substring to compare with dict, sometimes you may do the other way round, use the dict to search in String.

Last updated

Was this helpful?