Given an array of string words. Return all strings in words which is substring of another word in any order. String words[i] is substring of words[j], if can be obtained removing some characters to left and/or right side of words[j]. Example 1: Input: words = ["mass","as","hero","superhero"] Output: ["as","hero"] Explanation: "as" is substring of "mass" and "hero" is substring of "superhero". ["hero","as"] is also a valid answer. Example 2: Input: words = ["leetcode","et","code"] Output: ["et","code"] Explanation: "et", "code" are substring of "leetcode". Example 3: Input: words = ["blue","green","bu"] Output: []

PHOTO EMBED

Thu May 05 2022 19:54:34 GMT+0000 (Coordinated Universal Time)

Saved by @selvendhiran11

class Solution {
    public List<String> stringMatching(String[] words) {
        List<String> list = new ArrayList<>();
        
        for(String w : words)
        {
            for(String s : words)
            {
                if(s.length() < w.length())
                {
                    if(w.contains(s) && !list.contains(s))
                    {
                        list.add(s);
                    }
                }
            }
        }
        return list;
    }
}
content_copyCOPY

https://leetcode.com/problems/string-matching-in-an-array/