20.4.12 周赛 HTML实体解析器 中等

2021-03-23 14:27

阅读:583

标签:index   for   pos   any   inf   return   时间   res   遇到   

技术图片

时间复杂度O(n),空间复杂度不会。。

解题、代码思路

  1. 字符串result存最终解析结果;
  2. 循环遍历字符串text,找到&时开始判断是不是特殊字符,不是&直接加入该字符到result;
  3. 判断特殊字符,如果是特殊字符,把特殊字符加入到result,假如不是特殊字符,将判断过的字符全部放进result;
  4. 用record记录判断过的字符的数量,flag记录是否是特殊字符;
  5. 遍历text跳过判断过的字符串。如果是特殊字符,跳过整一段特殊字符,如果不是特殊字符,跳过判断过的就行了;
  6. 判断特殊字符串我写得太繁琐了,其实是不熟悉c++的STL,其实有很简单的写法。比如遇到&字符直接拿出他后面的适合长度的字符串进行判断。

代码

class Solution {
public:
    string entityParser(string text) {
        string result;
        string shuangyinhao = """;
        string danyinhao = "'";
        string yufuhao = "&";
        string dayuhao = ">";
        string xiaoyuhao = "<";
        string xiexianhao = "⁄";
        for(int i = 0; i ‘);
                }
                if(text[index] == ‘l‘){
                    record++;
                    for(int j = index + 1, k = 2; j 

20.4.12 周赛 HTML实体解析器 中等

标签:index   for   pos   any   inf   return   时间   res   遇到   

原文地址:https://www.cnblogs.com/wasi-991017/p/12684853.html


评论


亲,登录后才可以留言!