Description
Given a list of strings dict where all the strings are of the same length.
Return true if there are 2 strings that only differ by 1 character in the same index, otherwise return false.
Example 1:
Input: dict = ["abcd","acbd", "aacd"] Output: true Explanation: Strings "abcd" and "aacd" differ only by one character in the index 1.
Example 2:
Input: dict = ["ab","cd","yz"] Output: false
Example 3:
Input: dict = ["abcd","cccc","abyd","abab"] Output: true
Constraints:
- The number of characters in
dict <= 105 dict[i].length == dict[j].lengthdict[i]should be unique.dict[i]contains only lowercase English letters.
Solutions
Solution 1
PythonJavaC++Go
class Solution: def differByOne(self, dict: List[str]) -> bool: s = set() for word in dict: for i in range(len(word)): t = word[:i] + "*" + word[i + 1 :] if t in s: return True s.add(t) return False(code-box)
