831. 隐藏个人信息

本文介绍了如何解决LeetCode上的题目——遮盖个人信息。代码使用C++编写,通过检查输入字符串是否包含邮箱地址或电话号码来决定遮盖方式。对于邮箱,遮盖中间的字符;对于电话号码,遮盖除最后四位外的所有数字,并在必要时添加国际区号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目链接: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;
        }
    }
};

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值