题目
地址
https://leetcode.com/problems/valid-word/description/
内容
A word is considered valid if:
- It contains a minimum of 3 characters.
- It contains only digits (0-9), and English letters (uppercase and lowercase).
- It includes at least one vowel.
- It includes at least one consonant.
You are given a string word.
Return true if word is valid, otherwise, return false.
Notes:
- ‘a’, ‘e’, ‘i’, ‘o’, ‘u’, and their uppercases are vowels.
- A consonant is an English letter that is not a vowel.
Example 1:
Input: word = “234Adas”
Output: true
Explanation:
This word satisfies the conditions.
Example 2:
Input: word = “b3”
Output: false
Explanation:
The length of this word is fewer than 3, and does not have a vowel.
Example 3:
Input: word = "a3 e " O u t p u t : f a l s e E x p l a n a t i o n : T h i s w o r d c o n t a i n s a ′ e" Output: false Explanation: This word contains a ' e"Output:falseExplanation:Thiswordcontainsa′’ character and does not have a consonant.
Constraints:
- 1 <= word.length <= 20
- word consists of English uppercase and lowercase letters, digits, ‘@’, ‘#’, and ‘$’.
解题
这题要检测一个数是否符合以下特点:
- 至少包罗3个字符
- 只能包罗大小写字母和数字
- 至少有一个a、e、i、o、u大写或小写的字母
- 至少包罗一个非a、e、i、o、u大写或小写的字母
解法也很简朴,按这些条件把规则写好即可。
- #include <string>
- using namespace std;
- class Solution {
- public:
- bool isValid(string word) {
- if (word.size() < 3) {
- return false;
- }
- bool vowel = false;
- bool consonant = false;
- for (char c : word) {
- if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'
- || c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U') {
- vowel = true;
- } else if ( (c >= 'a' && c <= 'z')
- || (c >= 'A' && c <= 'Z'))
- {
- consonant = true;
- }
- else if (c >= '0' && c <= '9') {
- continue;
- }
- else {
- return false;
- }
- }
- return vowel && consonant;
- }
- };
复制代码
代码地址
https://github.com/f304646673/leetcode/tree/main/3136-Valid-Word/cplusplus
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |