Question: In this exercise you are given an array of strings words representing an English Dictionary, return the longest word in words that can be built

In this exercise you are given an array of strings words representing an English Dictionary, return the longest word in words that can be built one character at a time by other words in words.

If there is more than one possible answer, return the longest word with the smallest lexicographical order. If there is no answer, return the empty string.

Note that the word should be built from left to right with each additional character being added to the end of a previous word.

Example 1:

Input: words = ["w","wo","wor","worl","world"]

Output:"world"

Explanation: The word "world" can be built one character at a time by "w", "wo", "wor", and "worl".

Example 2:

Input: words = ["a","banana","app","appl","ap","apply","apple"]

Output:"apple"

Explanation: Both "apply" and "apple" can be built from other words in the dictionary. However, "apple" is lexicographically smaller than "apply".

Example of input:

Enter the size of the array

Enter the elements of the array

5 w wo wor worl world 

Example of input:

world

Constraints:

1 <= words.length <= 1000

1 <= words[i].length <= 30

words[i] consists of lowercase English letters

#include #include #include #include

using namespace std;

string longestWord(vector& words) { //your code here }

int main(){ int sizeOfArrays; string element; vector vec; cin>>sizeOfArrays; int i=0; while(i>element; vec.push_back(element); i++; } cout<

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!