深圳网站设计兴田德润简介,seo优化专员工作内容,常州市网站建设公司,wordpress 评论系统【LetMeFly】1410.HTML 实体解析器#xff1a;字符串匹配
力扣题目链接#xff1a;https://leetcode.cn/problems/html-entity-parser/
「HTML 实体解析器」 是一种特殊的解析器#xff0c;它将 HTML 代码作为输入#xff0c;并用字符本身替换掉所有这些特殊的字符实体。…【LetMeFly】1410.HTML 实体解析器字符串匹配
力扣题目链接https://leetcode.cn/problems/html-entity-parser/
「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 字符中的任意字符。
方法一字符串匹配
一共就6种要替换的情况我们可以先把6种要替换的情况都存下来到一个数组中理解为哈希表也可以。
接着就开始愉快地遍历text字符串了
如果当前字符为 遍历替换数组如果能匹配则将答案字符串加上要替换的结果如果全部匹配不上就加上当前字符 否则答案字符串加上当前字符
最终返回答案字符串即可。
时间复杂度 O ( l e n ( t e x t ) × k ) O(len(text)\times k) O(len(text)×k)其中 k k k是要替换字符串的评价长度空间复杂度 O ( C ) O(C) O(C)只有“替换数组”占据了常数大小的空间
AC代码
C
const static vectorpairstring, char dic {{quot;, },{apos;, \},{amp;, },{gt;, },{lt;, },{frasl;, /}
};class Solution {
public:string entityParser(string text) {string ans;for (int i 0; i text.size(); i) {if (text[i] ) {for (auto [from, to] : dic) {if (text.substr(i, from.size()) from) {ans to;i from.size() - 1;goto loop;}}}ans text[i];loop:;}return ans;}
};Python
dic [(quot;, ),(apos;, ),(gt;, ),(lt;, ),(frasl;, /),(amp;, )
]class Solution:def entityParser(self, text: str) - str:ans i 0while i len(text):matched Falseif text[i] :for from_, to in dic:if text[i: len(from_) i] from_:matched Trueans toi len(from_)breakif not matched:ans text[i]i 1return ans同步发文于CSDN原创不易转载经作者同意后请附上原文链接哦~ Tisfyhttps://letmefly.blog.csdn.net/article/details/134571778