1个云虚拟主机怎么做多个网站,网站建设是前端的吗,建设网站建设什么挣钱,健康东莞app怎么下载#x1f680; 算法题 #x1f680; #x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 #x1f340; #x1f332; 越难的东西,越要努力坚持#xff0c;因为它具有很高的价值#xff0c;算法就是这样✨ #x1f332; 作者简介#xff1a;硕风和炜#xff0c;… 算法题 算法刷题专栏 | 面试必备算法 | 面试高频算法 越难的东西,越要努力坚持因为它具有很高的价值算法就是这样✨ 作者简介硕风和炜CSDN-Java领域新星创作者保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享 恭喜你发现一枚宝藏博主,赶快收入囊中吧 人生如棋我愿为卒行动虽慢可谁曾见我后退一步 算法题 目录 题目链接⛲ 题目描述 求解思路实现代码运行结果⚡ 字符串处理库函数 求解思路 实现代码 运行结果 ⚡ 模拟哈希表字符串 求解思路 实现代码 运行结果 共勉 题目链接
1410. HTML 实体解析器
⛲ 题目描述
「HTML 实体解析器」 是一种特殊的解析器它将 HTML 代码作为输入并用字符本身替换掉所有这些特殊的字符实体。
HTML 里这些特殊字符和它们对应的字符实体包括
双引号字符实体为 对应的字符是 。 单引号字符实体为 ’ 对应的字符是 ’ 。 与符号字符实体为 对应对的字符是 。 大于号字符实体为 对应的字符是 。 小于号字符实体为 对应的字符是 。 斜线号字符实体为 ⁄ 对应的字符是 / 。 给你输入字符串 text 请你实现一个 HTML 实体解析器返回解析器解析后的结果。
示例 1
输入text “ is an HTML entity but ambassador; is not.” 输出“ is an HTML entity but ambassador; is not.” 解释解析器把字符实体 用 替换 示例 2
输入text “and I quote: “…”” 输出“and I quote: “…”” 示例 3
输入text “Stay home! Practice on Leetcode ” 输出“Stay home! Practice on Leetcode ” 示例 4
输入text “x y x y is always false” 输出“x y x y is always false” 示例 5
输入text “leetcode.com⁄problemset⁄all” 输出“leetcode.com/problemset/all”
提示
1 text.length 10^5 字符串可能包含 256 个ASCII 字符中的任意字符。 求解思路实现代码运行结果 ⚡ 字符串处理库函数 求解思路
直接调用replaceAll的替换函数但是需要注意一点的是“替换”“要放到最后进行如果之前替换了那么很有可能替换后的”与其它的单词组成要可以继续替换的单词继续进行替换从而最终的结果发生改变。具体实现代码如下 实现代码
class Solution {public String entityParser(String text) {texttext.replaceAll(quot;,\);texttext.replaceAll(apos;,);texttext.replaceAll(gt;,);texttext.replaceAll(lt;,);texttext.replaceAll(frasl;,/);texttext.replaceAll(amp;,);return text;}
}运行结果 ⚡ 模拟哈希表字符串 求解思路
提前通过Hash表记录替换的映射模拟遍历从“开始”;结束找到要被替换的单词通过映射表返回替换的单词最后通过StringBuilder进行快速拼接。具体实现代码如下 实现代码
class Solution {public String entityParser(String text) {HashMapString,String mapnew HashMap(){{put(quot;, \);put(apos;, );put(amp;, );put(gt;, );put(lt;, );put(frasl;, /);}};int ntext.length();StringBuilder sbnew StringBuilder();for(int i0;in;i){char ctext.charAt(i);if(c){int starti;while(intext.charAt(i)!;) i;String strtext.substring(start,Math.min(i1,n));if(map.containsKey(str)){sb.append(map.get(str));}else{istart;sb.append(c);}}else{sb.append(c);}}return sb.toString();}
}运行结果 共勉
最后我想和大家分享一句一直激励我的座右铭希望可以与大家共勉