?LeetCode解法匯總1410. HTML 實體解析器

?目錄鏈接:

力扣編程題-解法匯總_分享+記錄-CSDN博客

GitHub同步刷題項目:

https://github.com/September26/java-algorithms

原題鏈接:力扣(LeetCode)官網 - 全球極客摯愛的技術成長平臺


描述:

「HTML?實體解析器」 是一種特殊的解析器,它將 HTML 代碼作為輸入,并用字符本身替換掉所有這些特殊的字符實體。

HTML 里這些特殊字符和它們對應的字符實體包括:

  • 雙引號:字符實體為?"?,對應的字符是?"?。
  • 單引號:字符實體為?'?,對應的字符是?'?。
  • 與符號:字符實體為?&?,對應對的字符是?&?。
  • 大于號:字符實體為?>?,對應的字符是?>?。
  • 小于號:字符實體為?&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.com&frasl;problemset&frasl;all"
輸出:"leetcode.com/problemset/all"

提示:

  • 1 <= text.length <= 10^5
  • 字符串可能包含 256 個ASCII 字符中的任意字符。

解題思路:

遍歷字符串中的每一個字符,如果字符串及其后面的字符可匹配,則index+=匹配的長度。

否則index++即可。

代碼:

class Solution {
public:vector<string> v1 = {"&quot;", "&apos;", "&amp;", "&gt;", "&lt;", "&frasl;"};vector<string> v2 = {"\"", "\'", "&", ">", "<", "/"};pair<string, int> isMatchReplace(string &text, int index){for (int i = 0; i < v1.size(); i++){if (text.compare(index, v1[i].size(), v1[i]) == 0){int k = v1[i].size();return make_pair(static_cast<string>(v2[i]), v1[i].size());}}return make_pair<string, int>(text.substr(index, 1), 1);}string entityParser(string text){int index = 0;ostringstream out;pair<string, int> pair;while (index < text.size()){pair = isMatchReplace(text, index);out << pair.first;index += pair.second;}return out.str();}
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/166114.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/166114.shtml
英文地址,請注明出處:http://en.pswp.cn/news/166114.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

利用企業被執行人信息查詢API保障商業交易安全

前言 在當今競爭激烈的商業環境中&#xff0c;企業為了保障商業交易的安全性不斷尋求新的手段。隨著技術的發展&#xff0c;利用企業被執行人信息查詢API已經成為了一種強有力的工具&#xff0c;能夠幫助企業在商業交易中降低風險&#xff0c;提高合作的信任度。 企業被執行人…

如何使用 JavaScript 實現圖片上傳并轉換為 LaTeX 公式

在本教程中&#xff0c;我們將學習如何使用 JavaScript 創建一個上傳圖片的功能&#xff0c;并將所選圖片轉換為 LaTeX 公式。我們將使用 FileReader 對象來讀取圖片并將其轉換為 Base64 格式&#xff0c;然后利用 img2latex API 將其轉換為 LaTeX 公式。 1. HTML 結構 首先&…

SpringMVC日志追蹤筆記整理

新建logback-spring.xml <?xml version"1.0" encoding"UTF-8"?> <configuration><property name"PATH" value"./log/business"></property><appender name"STDOUT" class"ch.qos.logback…

linux進程調度(三)-進程終止

文章目錄 2.3 進程退出的幾種情況2.4 進程終止過程分析2.4.1 exit_notify函數2.4.1.1 forget_original_parent函數2.4.1.1.1 find_child_reaper函數2.4.1.1.2 find_new_reaper函數2.4.1.1.3 reparent_leader函數 2.4.1.2 do_notify_parent函數2.4.1.3 release_task函數 2.4.2 d…

GitHub桌面版

GitHub桌面版 一、GitHub 桌面版二、clone 倉庫三、更新倉庫 一、GitHub 桌面版 二、clone 倉庫 三、更新倉庫

穆桂英掛帥

《穆桂英掛帥》 作家&#xff0f;羅光記 穆桂英掛帥破敵&#xff0c; 威風凜凜立戰場。 鐵甲如云奔雷急&#xff0c; 英姿颯爽傲寒霜。 烽火連天戰鼓擂&#xff0c; 旌旗翻飛壯心驚。 刀光劍影映紅日&#xff0c; 豪情壯志天地驚。 風云變幻戰事急&#xff0c; 英勇穆桂英…

Azure Machine Learning - Azure可視化圖像分類操作實戰

目錄 一、數據準備二、創建自定義視覺資源三、創建新項目四、選擇訓練圖像五、上傳和標記圖像六、訓練分類器七、評估分類器概率閾值 八、管理訓練迭代 在本文中&#xff0c;你將了解如何使用Azure可視化頁面創建圖像分類模型。 生成模型后&#xff0c;可以使用新圖像測試該模型…

溫馨提示!辦理流量卡千萬不要填寫別人的身份證信息,切記!

可以用別人的身份證辦理流量卡嗎&#xff1f;是很多朋友都比較關注的一個問題&#xff0c;在這里明確的告訴大家一下&#xff0c;當然是不可以的。 ?  不管你是在線下營業廳辦理&#xff0c;還是在線上申請&#xff0c;都是需要提供本人的證件信息才能辦理&#xff1a; 1、…

TIDB拓撲結構

TiDB Server&#xff1a;SQL層&#xff0c;負責接受客戶端的連接&#xff0c;執行SQL解析和優化&#xff0c;最終生成分布式執行計劃。TiDB Server為無狀態的&#xff0c;可增加節點負載均衡。 PD (Placement Driver) Server&#xff1a;整個TiDB集群的元信息管理模塊&#xf…

【超詳細】手搓一個微信日記本

&#x1f380; 文章作者&#xff1a;二土電子 &#x1f338; 關注公眾號獲取更多資料&#xff01; &#x1f438; 期待大家一起學習交流&#xff01; 這里對之前的微信記事本小程序進行了重新編寫&#xff0c;增加了更加詳細的步驟描述&#xff0c;將全部圖片都改成了本地圖…

用EasyAVFilter將網絡文件或者本地文件推送RTMP出去的時候發現CPU占用好高,用的也是vcodec copy呀,什么原因?

最近同事在用EasyAVFilter集成在EasyDarwin中做視頻拉流轉推RTMP流的功能的時候&#xff0c;發現怎么做CPU占用都會很高&#xff0c;但是視頻沒有調用轉碼&#xff0c;vcodec用的就是copy&#xff0c;這是什么原因呢&#xff1f; 我們用在線的RTSP流就不會出現這種情況&#x…

SSM個性化旅游管理系統開發mysql數據庫web結構java編程計算機網頁源碼eclipse項目

一、源碼特點 SSM 個性化旅游管理系統是一套完善的信息系統&#xff0c;結合springMVC框架完成本系統&#xff0c;對理解JSP java編程開發語言有幫助系統采用SSM框架&#xff08;MVC模式開發&#xff09;&#xff0c;系統具有完整的源代碼和數據庫 &#xff0c;系統主要采用B…

raid磁盤陣列

在單機時代&#xff0c;采用單塊磁盤進行數據存儲和讀寫的方式&#xff0c;由于尋址和讀寫的時間消耗&#xff0c;導致I/O性能非常低&#xff0c;且存儲容量還會受到限制。另外&#xff0c;單塊磁盤極其容易出現物理故障&#xff0c;經常導致數據的丟失。此時&#xff0c;RAID技…

Java設計模式

&#x1f648;作者簡介&#xff1a;練習時長兩年半的Java up主 &#x1f649;個人主頁&#xff1a;程序員老茶 &#x1f64a; ps:點贊&#x1f44d;是免費的&#xff0c;卻可以讓寫博客的作者開心好久好久&#x1f60e; &#x1f4da;系列專欄&#xff1a;Java全棧&#xff0c;…

新材料制造ERP用哪個好?企業應當如何挑選適用的

有些新材料存在特殊性&#xff0c;并且在制造過程中對車間、設備、工藝、人員等方面提出更高的要求。還有些新材料加工流程復雜&#xff0c;涉及多種材料的請購、出入庫、使用和管理等環節&#xff0c;解決各個業務環節無縫銜接問題是很多制造企業面臨的管理難題。 新材料制造…

牙科診所小程序開發案例

一、背景&#xff1a; 針對傳統口腔醫療領域中口腔診所推廣難,紙質信息保存難等問題&#xff0c;設計并開發了基于微信小程序實現口腔服務助手平臺。為了給人們提供便捷&#xff0c;快速的預約方式&#xff0c;提高社會人群對口腔健康的關注力度。通過微信小程序互聯網技術&…

文旅虛擬人IP:數字時代的傳統文化推薦官

近幾年&#xff0c;隨著文旅虛擬人頻“上崗”&#xff0c;虛擬人逐漸成為了文旅品牌的一種新穎的傳統文化傳播思路。 文旅品牌定制化推出虛擬人&#xff0c;本質原因是2023旅游業全面復蘇&#xff0c;各文旅玩法同質化現象嚴重&#xff0c;在這樣的境遇下&#xff0c;文旅品牌開…

OpenMLDB v0.8.4 診斷工具全面升級

新的v0.8.4版本中&#xff0c;我們對于診斷工具進行了全面系統化的升級&#xff0c;以提供更加完整和智能化的診斷報告&#xff0c;有助于高效排查 OpenMLDB 集群問題&#xff0c;大幅提升運維效率。 相比于之前的版本&#xff0c;新的診斷工具增添一鍵診斷功能&#xff0c;使…

首個央企量子云計算項目,中標!

6月29日&#xff0c;北京玻色量子科技有限公司&#xff08;簡稱“玻色量子”&#xff09;成功中標中國移動云能力中心“2023—2024年量子算法及光量子算力接入關鍵技術研究項目”&#xff0c;這是玻色量子繼與移動云簽訂“五岳量子云計算創新加速計劃”后&#x1f517;&#xf…

角色管理--體驗產品專家崗

研發組織管理--角色管理--體驗產品專家崗 定位 產品用戶代言人&#xff0c;產品體驗守門員&#xff0c;保證用戶體驗感知不低于行業水平并嘗試新體驗&#xff1b; 所需資質 對產品交互有自己的心得&#xff0c;可通過設計工具直觀表達觀點能站在用戶角度思考問題&#xff0c…