替人做赌彩网站,网站建设的基础服务器,专门的网页制作工具有(),网站咨询弹窗是怎么做的1. 题目
「HTML 实体解析器」 是一种特殊的解析器#xff0c;它将 HTML 代码作为输入#xff0c;并用字符本身替换掉所有这些特殊的字符实体。
HTML 里这些特殊字符和它们对应的字符实体包括#xff1a;
双引号#xff1a;字符实体为 quot; #xff0c;对应的字符…1. 题目
「HTML 实体解析器」 是一种特殊的解析器它将 HTML 代码作为输入并用字符本身替换掉所有这些特殊的字符实体。
HTML 里这些特殊字符和它们对应的字符实体包括
双引号字符实体为 quot; 对应的字符是 。
单引号字符实体为 apos; 对应的字符是 。
与符号字符实体为 amp; 对应对的字符是 。
大于号字符实体为 gt; 对应的字符是 。
小于号字符实体为 lt; 对应的字符是 。
斜线号字符实体为 frasl; 对应的字符是 / 。给你输入字符串 text 请你实现一个 HTML 实体解析器返回解析器解析后的结果。
示例 1
输入text amp; is an HTML entity but ambassador; is not.
输出 is an HTML entity but ambassador; is not.
解释解析器把字符实体 amp; 用 替换示例 2
输入text and I quote: quot;...quot;
输出and I quote: \...\示例 3
输入text Stay home! Practice on Leetcode :)
输出Stay home! Practice on Leetcode :)示例 4
输入text x gt; y amp;amp; x lt; y is always false
输出x y x y is always false示例 5
输入text leetcode.comfrasl;problemsetfrasl;all
输出leetcode.com/problemset/all提示
1 text.length 10^5
字符串可能包含 256 个ASCII 字符中的任意字符。来源力扣LeetCode 链接https://leetcode-cn.com/problems/html-entity-parser 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。
2. 解题
遍历text遇到开始累积字符遇到;结束累积查找该单词在哈希表中与否在则进行替换
class Solution {
public:string entityParser(string text) {unordered_mapstring,string m {{quot;,\},{apos;,},{amp;,},{gt;,},{lt;,},{frasl;,/}};string word;string ans;for(int i 0; i text.size(); i){if(text[i] ! )ans text[i];else{word ;while(i text.size()){word text[i];if(text[i];)break;i;}if(m.count(word))ans m[word];elseans word;}}return ans;}
};288 ms 19.2 MB