题目链接:https://leetcode-cn.com/problems/masking-personal-information/
解题思路:硬处理
class Solution {
public:
string maskPII(string S) {
auto index = S.find("@");
std::string ans;
if (index != std::string::npos) {
ans = S[0] + std::string("*****") + S.substr(index - 1);
for (auto &tmp:ans)
if ('A' <= tmp && tmp <= 'Z')
tmp = tmp - 'A' + 'a';
return ans;
}
else {
std::string buffer;
for (auto &tmp : S)
if ('0' <= tmp && tmp <= '9')
buffer += tmp;
std::string ans = "***-***-" + buffer.substr(buffer.size() - 4);
if (buffer.size() == 10)
return ans;
return "+" + string(buffer.size() - 10, '*') + "-" + ans;
}
}
};
LeetCode 解题: masking personal information 功能实现
本文介绍了如何解决LeetCode上的题目——遮盖个人信息。代码使用C++编写,通过检查输入字符串是否包含邮箱地址或电话号码来决定遮盖方式。对于邮箱,遮盖中间的字符;对于电话号码,遮盖除最后四位外的所有数字,并在必要时添加国际区号。
9857

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



