leetcode 2299. 强密码检验器 II

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

如果一个密码满足以下所有条件我们称它是一个 强 密码

它有至少 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 <= 100
password 包含字母数字和 "!@#$%^&*()-+" 这些特殊字符。

class Solution {
public:
    bool strongPasswordCheckerII(string password) {
        bool eight=0,small=0,big=0,num=0,spe=0;
        int con=1;
        eight=password.length()>=8;
        for(int i=0;i<password.length();i++){
            if(islower(password[i])){
                small=1;
            }
            if(isupper(password[i])){
                big=1;
            }
            if(isdigit(password[i])){
                num=1;
            }
            if(password[i]=='!'||password[i]=='@'||password[i]=='#'||password[i]=='$'||password[i]=='%'||password[i]=='^'||password[i]=='&'||password[i]=='*'||password[i]=='('||password[i]==')'||password[i]=='-'||password[i]=='+'){
                spe=1;
            }
            if(i>0&&password[i]==password[i-1]){
                con=0;
            }
        }
        cout<<eight<<"  "<<small<<"  "<<big<<"  "<<num<<"  "<<spe<<"  "<<con<<endl;
        return eight&&small&&big&&num&&spe&&con;
    }
};

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6