Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    472 - Concatenated Words\.

    Hard

    Given an array of strings words ( without duplicates ), return all the concatenated words in the given list of words.

    A concatenated word is defined as a string that is comprised entirely of at least two shorter words in the given array.

    Example 1:

    Input: words = "cat","cats","catsdogcats","dog","dogcatsdog","hippopotamuses","rat","ratcatdogcat"

    Output: "catsdogcats","dogcatsdog","ratcatdogcat"

    Explanation: "catsdogcats" can be concatenated by "cats", "dog" and "cats"; "dogcatsdog" can be concatenated by "dog", "cats" and "dog"; "ratcatdogcat" can be concatenated by "rat", "cat", "dog" and "cat".

    Example 2:

    Input: words = "cat","dog","catdog"

    Output: "catdog"

    Constraints:

    • <code>1 <= words.length <= 10<sup>4</sup></code>

    • 1 &lt;= words[i].length &lt;= 30

    • words[i] consists of only lowercase English letters.

    • All the strings of words are unique.

    • <code>1 <= sum(wordsi.length) <= 10<sup>5</sup></code>

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Solution()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final List<String> findAllConcatenatedWordsInADict(Array<String> words)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait