HackerRank 'Two Strings' Solution

Martin Kysel · March 12, 2015

Short Problem Definition:

You are given two strings, A and B. Find if there is a substring that appears in both A and B.

Two Strings


time complexity is O(N+M)

space complexity is O(1)


At first sight this seems like a longest common substring problem. It is actually much easier. You just need to find out if there are two equal letters in both strings A and B.


def twoStrings(s1, s2):
    m1 = set(s1)
    m2 = set(s2)
    if set.intersection(m1,m2):
        return "YES"
    return "NO"

if __name__ == '__main__':
    t = input()
    for _ in xrange(t):
        first = raw_input()
        second = raw_input()
        print twoStrings(first, second)

Twitter, Facebook