Check if a String Is an Acronym of Words
EasyUpdated: Jul 3, 2025
Practice on:
Problem
Given an array of strings words and a string s, determine if s is an acronym of words.
The string s is considered an acronym of words if it can be formed by concatenating the first character of each string in words in order.
For example, "ab" can be formed from ["apple", "banana"], but it can't be formed from ["bear", "aardvark"].
Return true ifs is an acronym ofwords , andfalse otherwise.
Examples
Example 1
Input: words = ["alice","bob","charlie"], s = "abc"
Output: true
Explanation: The first character in the words "alice", "bob", and "charlie" are 'a', 'b', and 'c', respectively. Hence, s = "abc" is the acronym.
Example 2
Input: words = ["an","apple"], s = "a"
Output: false
Explanation: The first character in the words "an" and "apple" are 'a' and 'a', respectively.
The acronym formed by concatenating these characters is "aa".
Hence, s = "a" is not the acronym.
Example 3
Input: words = ["never","gonna","give","up","on","you"], s = "ngguoy"
Output: true
Explanation: By concatenating the first character of the words in the array, we get the string "ngguoy".
Hence, s = "ngguoy" is the acronym.
Constraints
1 <= words.length <= 1001 <= words[i].length <= 101 <= s.length <= 100words[i]andsconsist of lowercase English letters.
Solution
Method 1 – Direct Character Comparison
Intuition
To check if a string is an acronym of a list of words, compare the string to the concatenation of the first character of each word in order. If they match, return true; otherwise, return false.
Approach
- If the length of
sis not equal to the number of words, return false. - For each word, compare its first character to the corresponding character in
s. - If all characters match, return true; otherwise, return false.
Code
Java
class Solution {
public boolean isAcronym(List<String> words, String s) {
if (words.size() != s.length()) return false;
for (int i = 0; i < words.size(); i++) {
if (words.get(i).charAt(0) != s.charAt(i)) return false;
}
return true;
}
}
Python
class Solution:
def isAcronym(self, words: list[str], s: str) -> bool:
if len(words) != len(s):
return False
for i, w in enumerate(words):
if w[0] != s[i]:
return False
return True
Complexity
- ⏰ Time complexity:
O(n), wherenis the number of words. - 🧺 Space complexity:
O(1)