这题纠结了好久,之前没有考虑到flag标记,如果有如下的数据,之前的想法就错了:
1
2
00000
000
直接建字典树,注意一下几点:
1.如果当前的结点是标记了danger的,那么就直接返回false,表示有前缀。
2.如果遍历到最后依然没有发现danger标记,要考虑这个结点有没有后继,如果有,说明他是某些结点的前缀,这个用flag标记。
自己在代码里加了一些注释,以便理解。
我的代码:
这题纠结了好久,之前没有考虑到flag标记,如果有如下的数据,之前的想法就错了:
1
2
00000
000
直接建字典树,注意一下几点:
1.如果当前的结点是标记了danger的,那么就直接返回false,表示有前缀。
2.如果遍历到最后依然没有发现danger标记,要考虑这个结点有没有后继,如果有,说明他是某些结点的前缀,这个用flag标记。
自己在代码里加了一些注释,以便理解。
我的代码: