加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
LC2299.cpp 1.43 KB
一键复制 编辑 原始数据 按行查看 历史
xinanXu 提交于 2023-01-30 16:23 . submit 2299
#include <string>
using namespace std;
class Solution {
public:
bool strongPasswordCheckerII(string password) {
int len = password.size();
if (len < 8) return false;
char fl[4] {};
char spe[] = "!@#$%^&*()-+";
if (password[0] <= 'z' && password[0] >= 'a')
fl[0] = 1;
else if (password[0] <= 'Z' && password[0] >= 'A')
fl[1] = 1;
else if (password[0] <= '9' && password[0] >= '0')
fl[2] = 1;
else {
for (int i = 0; i < 12; i++) {
if (password[0] == spe[i]) {
fl[3] = 1;
break;
}
}
}
for (int i = 1; i < len; i++) {
if (password[i] <= 'z' && password[i] >= 'a')
fl[0] = 1;
else if (password[i] <= 'Z' && password[i] >= 'A')
fl[1] = 1;
else if (password[i] <= '9' && password[i] >= '0')
fl[2] = 1;
else {
for (int j = 0; j < 12; j++) {
if (password[i] == spe[j]) {
fl[3] = 1;
break;
}
}
}
if (password[i] == password[i-1]) return false;
}
for (int i = 0; i < 4; i++) {
if (fl[i] != 1) return false;
}
return true;
}
};
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化