总结了下,这道题就是个大坑题
两个方面很坑,一是题意不明确,让人有误解,二是数据水,也导致让人更加不懂题意了
解释下题意,我最后得出的结果是:
这题应该是让人构造一棵树,按照输入的文本前面的点来划分层级
对于每行来说,他的父节点应该是向上查找第一个点数小于自己的行
例如样例,应该是这样一颗树(按照标签):
html
/ \
head body
/ / | \
title h1 p div
/ | \
h2 p div
\
p
构建好之后,处理选择器
不是后代选择器的话,直接遍历一遍,看看符合的有哪些
如果是后代选择器,就把每个词先处理出来,然后用dfs在树中查找
(注意,后代选择器可以同时出现标签和id