詞典中最長的單詞

2021-10-24 01:51:12 字數 949 閱讀 8357

問題描述 :

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

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

示例 1:

輸入:words = [「w」,「wo」,「wor」,「worl」, 「world」]

輸出:「world」

解釋:單詞"world"可由"w", 「wo」, 「wor」, 和 「worl"新增乙個字母組成。第乙個單詞是"w」,該單詞只有乙個字母。我們需要從乙個字母的單詞開始,每步新增乙個字母。

輸入說明 :

首先輸入words陣列的長度n,範圍為[1,1000]。

然後輸入n個字串,每個字串長度範圍為[1,30]。

所有輸入的字串都只包含小寫字母。

輸出說明 :

輸出答案,不包含空格。

如果沒有答案,則輸出乙個空格。

輸入範例 :輸出範例 :

#include

#include

#include

#include

using

namespace std;

bool

cmp(string &a,string &b)

string longestword

(vector

&words)

if(len==s.

length()

)}}int

main()

string res=

longestword

(words)

; cout

}

詞典中最長的單詞

給出乙個字串陣列words組成的一本英語詞典。從中找出最長的乙個單詞,該單詞是由words詞典中其他單詞逐步新增乙個字母組成。若其中有多個可行的答案,則返回答案中字典序最小的單詞。若無答案,則返回空字串。解答 1.先建立字典樹,字典樹建立時,同乙個父節點下,根據字母的assic 碼判斷子節點字母先後...

詞典中最長的單詞

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

720 詞典中最長的單詞

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