<>1556.千位分隔符
<>
分析
* 从后往前进行拆分和拼接,最后再翻转输出 class Solution { public String thousandSeparator(int n)
{ if(n / 1000 == 0) return String.valueOf(n); //如果n小于1000,则不用加分隔符直接输出
StringBuilder sb= new StringBuilder(); int count = 0; //计算当前有几位数了 while(n > 0) {
if(count == 3) { //如果已经三位了,则需加分隔符,并将次数置0 sb.append("."); count = 0; } int temp =
n% 10; count++; sb.append(temp); n = n / 10; } return sb.reverse().toString();
} }
<>1576.替换所有的问号
<>
分析
* 逐个比较法 class Solution { public String modifyString(String s) { char[] ch = s.
toCharArray(); for(int i = 0; i < ch.length; i++) { if(ch[i] == '?') {
//如果当前字符为 ? char left = (i == 0 ? ' ' : ch[i - 1]); //找左边元素,并判断是不是第一个元素 char
right= (i == ch.length - 1 ? ' ' : ch[i + 1]); //找右边元素,并判断是不是最后一个元素 char temp =
'a'; while(temp == left || temp == right) //循环找到跟左右字符都不相同的字符 temp++; ch[i] =
temp; } } return new String(ch); } }