这题纠结了好久,之前没有考虑到flag标记,如果有如下的数据,之前的想法就错了:
1
2
00000
000
直接建字典树,注意一下几点:
1.如果当前的结点是标记了danger的,那么就直接返回false,表示有前缀。
2.如果遍历到最后依然没有发现danger标记,要考虑这个结点有没有后继,如果有,说明他是某些结点的前缀,这个用flag标记。
自己在代码里加了一些注释,以便理解。
我的代码:
本文介绍了一种利用字典树判断字符串集是否存在前缀冲突的方法,并详细解释了如何通过标志位解决特定问题。文章提供了完整的C++实现代码,帮助读者深入理解字典树的应用场景及其限制。
这题纠结了好久,之前没有考虑到flag标记,如果有如下的数据,之前的想法就错了:
1
2
00000
000
直接建字典树,注意一下几点:
1.如果当前的结点是标记了danger的,那么就直接返回false,表示有前缀。
2.如果遍历到最后依然没有发现danger标记,要考虑这个结点有没有后继,如果有,说明他是某些结点的前缀,这个用flag标记。
自己在代码里加了一些注释,以便理解。
我的代码:
9万+
278

被折叠的 条评论
为什么被折叠?