• + 0 comments

    My Java solution:

    public static String twoStrings(String s1, String s2) {
            //goal: determine if a string has a common substring
            //solution has o(n + m) time, o(n) space
            
            //use a set to store characters of the first string
            Set<Character> string1CharSet = new HashSet<>();
            for (char c : s1.toCharArray()) {
                string1CharSet.add(c);
            }
    
            //check if any character in the second string exists in the first set
            for (char c : s2.toCharArray()) {
                if (string1CharSet.contains(c)) {
                    return "YES";
                }
            }
            return "NO"; //no common character was found
        }