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; 5 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); 16 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 += "+***-***-***-"; 25 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 } 31 32 res += extra; 33 } 34 35 return res; 36 } 37 };