一天都没干什么活,早上憋了几篇ppt,下午睡了一下午觉,然后做了做每日一题。
每日一题
今天是做一个字符串转整数,没啥好说的,提几个点。
越界的检验:
while (idx < n && Character.isDigit(chars[idx])) {
int digit = chars[idx] - '0';
if (ans > (Integer.MAX_VALUE - digit) / 10) {
// 本来应该是 ans * 10 + digit > Integer.MAX_VALUE
// 但是 *10 和 + digit 都有可能越界,所有都移动到右边去就可以了。
return negative? Integer.MIN_VALUE : Integer.MAX_VALUE;
}
ans = ans * 10 + digit;
idx++;
}
Character类的isDigit()方法:
else if (!Character.isDigit(chars[idx])) {
return 0;
}
科研
在做ppt,不知道能讲什么,周二还是随缘吧,难顶。