@SomeBottle 在 Leetcode每日一题 —— 2452. 距离字典两次编辑以内的单词 中发帖
思路
输入规模不大,用暴力其实就能解决,而且还挺快的。
这题咱还觉着能用 Trie 树和回溯来做,思路也挺自然的。把字典中所有词加入树中后,对于查询中每个词,从根节点开始往下走,每一步最多有两个分支:
使用一次编辑(注意,就算当前 Trie 结点有孩子能匹配,也要尝试用一次编辑,可能有 query=myword, dictionary=['mywayp', mvword] 这种情况。
不使用编辑,进入孩子结点(前提是有匹配的孩子)。
任意一个分支下能完全匹配查询时就不用继续了,避免重复加入结果。
实际跑起来这个思路好像确实没有暴力法快。
代码
struct TrieNode{
bool exist;
TrieNode* children[26];
TrieNode(){
exist=false;
memset(ch...