2828.判别首字母缩略词
【LetMeFly】2828.判别首字母缩略词
力扣题目链接:https://leetcode.cn/problems/check-if-a-string-is-an-acronym-of-words/
给你一个字符串数组 words 和一个字符串 s ,请你判断 s 是不是 words 的 首字母缩略词 。
如果可以按顺序串联 words 中每个字符串的第一个字符形成字符串 s ,则认为 s 是 words 的首字母缩略词。例如,"ab" 可以由 ["apple", "banana"] 形成,但是无法从 ["bear", "aardvark"] 形成。
如果 s 是 words 的首字母缩略词,返回 true ;否则,返回 false 。
示例 1:
输入:words = ["alice","bob","charlie"], s = "abc" 输出:true 解释:words 中 "alice"、"bob" 和 "charlie" 的第一个字符分别是 'a'、'b' 和 'c'。因此,s = "abc" 是首字母缩略词。
示例 2:
输入:words = ["an","apple"], s = "a" 输出:false 解释:words 中 "an" 和 "apple" 的第一个字符分别是 'a' 和 'a'。 串联这些字符形成的首字母缩略词是 "aa" 。 因此,s = "a" 不是首字母缩略词。
示例 3:
输入:words = ["never","gonna","give","up","on","you"], s = "ngguoy" 输出:true 解释:串联数组 words 中每个字符串的第一个字符,得到字符串 "ngguoy" 。 因此,s = "ngguoy" 是首字母缩略词。
提示:
1 <= words.length <= 1001 <= words[i].length <= 101 <= s.length <= 100words[i]和s由小写英文字母组成
方法一:模拟(遍历)
首先看字符串和单词数组是否等长,若不等长直接返回false。
接着枚举字符串的每一位,如果这个字符与对应单词的首字母不同,则返回false。
遍历完成后,返回true。
- 时间复杂度$O(len(words) + len(s))$
- 空间复杂度$O(1)$
AC代码
C++
1 | |
Python
1 | |
同步发文于CSDN,原创不易,转载经作者同意后请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/135106811
2828.判别首字母缩略词
https://blog.letmefly.xyz/2023/12/20/LeetCode 2828.判别首字母缩略词/