太恐怖了发现上了两年班我不会写代码了,尝试自救一下。
这个题直接情况讨论就可以,因为情况很少,就硬来。官方的方法是递归,虽然看着也简单不到哪里去,但是我好像确实不太擅长写递归。
class Solution {
public:
int countTime(string time) {
int count = 1;
char hour1 = time[0];
char hour2 = time[1];
char min1 = time[3];
char min2 = time[4];
if(hour1 == '?'){
if(hour2 == '?'||hour2 <= '3'){
count = 3;
}
else{
count = 2;
}
}
if(hour2 == '?'){
if(hour1 != '?'){
if(hour1 < '2'){
count *= 10;
}
else if(hour1 == '2'){
count *= 4;
}
}
else{
count = 24;
}
}
if(min1 == '?'){
count *= 6;
}
if(min2 == '?'){
count *= 10;
}
return count;
}
};