05 August 2008
按照一定规则隐藏email和电话
直接按照题意模拟
时间复杂度:O(N),其中 N 是字符串 S 的长度。
空间复杂度:O(1)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
public String maskPII(String S) {
int index = S.indexOf('@');
if (index >= 0) { // email
return (S.charAt(0) + "*****" + S.substring(index - 1)).toLowerCase();
} else { // phone
String digits = S.replaceAll("\\D+", "");
String local = "***-***-" + digits.substring(digits.length() - 4);
if (digits.length() == 10) {
return local;
}
return "+" + "*".repeat(Math.max(0, digits.length() - 10)) + "-" + local;
}
}
}