leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

0831.cpp (1003B)


0 class Solution {
1 public:
2 string maskPII(string &s) const {
3 const auto at = s.find('@');
4 string res;
6 if (at != string::npos) {
7 res += tolower(s[0]);
8 res += "*****";
9 res += tolower(s[at - 1]);
10 for (int i = at; i < size(s); i++)
11 res += tolower(s[i]);
12 } else {
13 int digits = 0;
14 for (const char c : s)
15 digits += isdigit(c);
17 if (digits == 10)
18 res += "***-***-";
19 else if (digits == 11)
20 res += "+*-***-***-";
21 else if (digits == 12)
22 res += "+**-***-***-";
23 else if (digits == 13)
24 res += "+***-***-***-";
26 string extra;
27 for (int i = size(s) - 1; size(extra) < 4; i--) {
28 if (!isdigit(s[i])) continue;
29 extra = s[i] + extra;
30 }
32 res += extra;
33 }
35 return res;
36 }
37 };