648. Replace Words

Loading Question ...

In English, we have a concept called root, which can be followed by some other words to form another longer word - let's call this word successor. For example, the root an, followed by other, which can form another word another.

Now, given a dictionary consisting of many roots and a sentence. You need to replace all the successor in the sentence with the root forming it. If a successor has many roots can form it, replace it with the root with the shortest length.

You need to output the sentence after the replacement.

Example 1:

Input: dict = ["cat", "bat", "rat"]
sentence = "the cattle was rattled by the battery"
Output: "the cat was rat by the bat"

Note:

  1. The input will only have lower-case letters.
  2. 1 <= dict words number <= 1000
  3. 1 <= sentence words number <= 1000
  4. 1 <= root length <= 100
  5. 1 <= sentence words length <= 1000


Seen this question in a real interview before?  
Yes
No
When did you encounter this question?  
last week
last month
last 3 month
last 6 month
more than 6 months
other
Which stage?  
Online Assessment
Phone Interview
On Campus Interview
Onsite Interview
Don't know
Which company?  
Adobe
Aetion
Airbnb
Alibaba
Amazon
Apple
Baidu
Bloomberg
Cloudera
Coursera
Cryptic Studios
Dropbox
eBay
Epic Systems
Expedia
Facebook
Fallible
Games
Gilt Groupe
GoDaddy
Goo
Google
Hedvig
Helix
Houzz
Hulu
Indeed
Intuit
IXL
LinkedIn
LiveRamp
Lyft
MAQ Software
Mathworks
Microsoft
NetEase
Netsuite
Palantir
Palantir Technologies
Pinterest
Pocket Gems
Poynt
Pure
Pure Storage
Rackspace
Radius
Riot
Riot Games
Samsung
Snapchat
Square
Storage
Tencent
TinyCo
Twitter
Two Sigma
Uber
Valve
WAP
Works Applications
Yahoo
Yahoo!
Yelp
Zappos
Zenefits