詞典中最長的單詞

2021-10-08 18:36:48 字數 957 閱讀 1902

給出乙個字串陣列words組成的一本英語詞典。從中找出最長的乙個單詞,該單詞是由words詞典中其他單詞逐步新增乙個字母組成。若其中有多個可行的答案,則返回答案中字典序最小的單詞。

若無答案,則返回空字串。

解答:1. 先建立字典樹,字典樹建立時,同乙個父節點下,根據字母的assic 碼判斷子節點字母先後順序。

2. js 字元使用charcodeat() 獲取字元assic碼

3. 查詢字典樹時,直接跳過非單詞節點,注意審查題目

var longestword = function(words) ;

const createtree = (letters, treenode, layer, originword) =>

}else

let index = treenode.children.findindex(child => child.acssi > targetnode.acssi );

if(index === -1) index = treenode.children.length; // 需要特別注意 -1 的case

treenode.children.splice(index,0,targetnode);

}if(!isword)

}// create dicttree

words.foreach( word => createtree(word.split(""),treenode, 1, word));

// search

let longestwordinfo = 

search = treenode => 

}treenode.children.foreach(child =>) 

}search(treenode);

return longestwordinfo.word;

};

詞典中最長的單詞

問題描述 給出乙個字串陣列words組成的一本英語詞典。從中找出最長的乙個單詞,該單詞是由words詞典中其他單詞逐步新增乙個字母組成。若其中有多個可行的答案,則返回答案中字典序最小的單詞。若無答案,則返回空字串。示例 1 輸入 words w wo wor worl world 輸出 world ...

詞典中最長的單詞

解題思路 排序之後就是字典序了,遇到單個字元,加到集合裡,多個字元則看最後乙個字元之前的字元是否已經在集合裡,在的話,加進集合裡,不在的話,可以直接不管了,因為已經排序,說明肯定無法一步一步的達到這個字串,再用兩個變數,儲存首次遇到的最長長度,最後返回 有點重複 class solution def...

720 詞典中最長的單詞

給出乙個字串陣列words組成的一本英語詞典。從中找出最長的乙個單詞,該單詞是由words詞典中其他單詞逐步新增乙個字母組成。若其中有多個可行的答案,則返回答案中字典序最小的單詞。若無答案,則返回空字串。示例 1 輸入 words w wo wor worl world 輸出 world 解釋 單詞...