给你一个长度为 5 的字符串 time ,表示一个电子时钟当前的时间,格式为  "hh:mm"  。最早 可能的时间是  "00:00"  ,最晚 可能的时间是  "23:59"  。
在字符串 time 中,被字符  ?  替换掉的数位是 未知的 ,被替换的数字可能是 0 到 9 中的任何一个。
请你返回一个整数 answer ,将每一个 ?  都用 0 到 9 中一个数字替换后,可以得到的有效时间的数目。
题目链接:https://leetcode.cn/problems/number-of-valid-clock-times/
# 解题思路
分【小时】和【分钟】讨论,二者乘积就是答案
# 提交结果

# 代码
class Solution {  | |
public int countTime(String time) {  | |
int cnt = 1;  | |
char h1 = time.charAt(0);  | |
char h2 = time.charAt(1);  | |
char m1 = time.charAt(3);  | |
char m2 = time.charAt(4);  | |
if (h1 == '?' && h2 == '?') {  | |
cnt = 24;  | |
} else if (h1 == '?') {  | |
cnt = h2 > '3' ? 2 : 3;  | |
} else if (h2 == '?'){  | |
cnt = h1 > '1' ? 4 : 10;  | |
        } | |
if (m1 == '?') cnt *= 6;  | |
if (m2 == '?') cnt *= 10;  | |
return cnt;  | |
    } | |
} |