密码检验器 II ●"/>
2299. 强密码检验器 II ●
2299. 强密码检验器 II ●
描述
如果一个密码满足以下所有条件,我们称它是一个 强 密码:
- 它有至少 8 个字符。
- 至少包含 一个小写英文 字母。
- 至少包含 一个大写英文 字母。
- 至少包含 一个数字 。
- 至少包含 一个特殊字符 。特殊字符为:“!@#$%^&*()-+” 中的一个。
- 它 不 包含 2 个连续相同的字符(比方说 “aab” 不符合该条件,但是 “aba” 符合该条件)。
给你一个字符串 password ,如果它是一个 强 密码,返回 true,否则返回 false 。
1 < = p a s s w o r d . l e n g t h < = 100 1 <= password.length <= 100 1<=password.length<=100
password 包含字母,数字和 “!@#$%^&*()-+” 这些特殊字符。
示例
输入:password = “IloveLe3tcode!”
输出:true
解释:密码满足所有的要求,所以我们返回 true 。
题解
1. 模拟比较
class Solution {
public:bool strongPasswordCheckerII(string password) {int len = password.length();if(len < 8) return false;char pre;int num = 0, A = 0, a = 0, ch = 0;for(int i = 0; i < len; ++i){char curr = password[i];if(i > 0 && curr == pre) return false;if(curr >= '0' && curr <= '9'){num = 1;}else if(curr >= 'a' && curr <= 'z'){a = 1;}else if(curr >= 'A' && curr <= 'Z'){A = 1;}else{ch = 1;}pre = curr;}return (num && ch && A && a);}
};
更多推荐
2299. 强密码检验器 II ●
发布评论