如果一个密码满足以下所有条件,我们称它是一个 强 密码:
- 它有至少
8个字符。 - 至少包含 一个小写英文 字母。
- 至少包含 一个大写英文 字母。
- 至少包含 一个数字 。
- 至少包含 一个特殊字符 。特殊字符为:
"!@#$%^&*()-+"中的一个。 - 它 不 包含
2个连续相同的字符(比方说"aab"不符合该条件,但是"aba"符合该条件)。
给你一个字符串 password ,如果它是一个 强 密码,返回 true,否则返回 false 。
示例 1:
输入:password = "IloveLe3tcode!" 输出:true 解释:密码满足所有的要求,所以我们返回 true 。
示例 2:
输入:password = "Me+You--IsMyDream" 输出:false 解释:密码不包含数字,且包含 2 个连续相同的字符。所以我们返回 false 。
示例 3:
输入:password = "1aB!" 输出:false 解释:密码不符合长度要求。所以我们返回 false 。
提示:
1 <= password.length <= 100password包含字母,数字和"!@#$%^&*()-+"这些特殊字符。
这一题比较简单,利用API条件判断即可
class Solution {
public:
bool strongPasswordCheckerII(string password) {
int length = password.length();
vector<bool> v(4,false);
if(length<8) return false;
for(int i = 0;i<length;i++){
char ch = password[i];
if(i!=length-1&&ch==password[i+1]) return false;
if(islower(ch)) v[0]=true;
else if(isupper(ch)) v[1]=true;
else if(isdigit(ch)) v[2]=true;
else v[3]=true;
}
for(bool flag:v){
if(!flag) return false;
}
return true;
}
};
检查强密码实现
给定一个字符串password,程序需要判断是否满足强密码条件:长度至少8,包含小写字母、大写字母、数字和特殊字符,且无连续相同字符。通过遍历和条件检查,返回是否符合强密码标准。
7425

被折叠的 条评论
为什么被折叠?



