力扣 1410. HTML 实体解析器 string 模拟

https://leetcode-cn.com/problems/html-entity-parser/
力扣 1410. HTML 实体解析器 string 模拟_第1张图片

思路: m a p map map存一下映射关系,然后遍历给定的字符串,遇到 & \& & ; ; ;特殊处理即可。

class Solution {
public:
    string entityParser(string text) {
        map<string,string> m;
        m["""]="\"";
        m["&apos"]="\'";
        m["&"]="&";
        m[">"]=">";
        m["<"]="<";
        m["&frasl"]="/";
        string ans,tmp;
        for(auto ch:text){
            if(ch=='&'){
                ans+=tmp;
                tmp="&";
            }
            else if(ch==';'){
                if(m.find(tmp)!=m.end())
                    ans+=m[tmp];
                else
                    ans+=tmp+ch;
                tmp.erase();
            }
            else
                tmp+=ch;
        }
        return ans+tmp;
    }
};

你可能感兴趣的:(面试题,模拟)