Masking Personal Information LeetCode solution in C++

1
class Solution {
2
public:
3
string email(string &s, int id) {
4
string t = string(1, s[0] | ' ') + "*****" + string(1, s[id - 1] | ' ');
5

6
for (int i = id + 1; i != s.size(); i++)
7
if (s[i] != '.') s[i] |= ' ';
8

9
return t + s.substr(id, s.size());
10
}
11

12
string phone(string &s) {
13
string table[] = {"", "+*-", "+**-", "+***-"}, t;
14

15
for (auto &ch : s)
16
if (ch >= '0' && ch <= '9') t.push_back(ch);
17

18
return table[t.size() - 10] + "***-***-" + t.substr(t.size() - 4, 4);
19
}
20

21
string maskPII(string s) {
22
int id = s.find('@');
23
return id == -1 ? phone(s) : email(s, id);
24
}
25
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0