题目描述
给你一个字符串 s
,表示一个 12 小时制的时间格式,其中一些数字(可能没有)被 "?"
替换。
12 小时制时间格式为 "HH:MM"
,其中 HH
的取值范围为 00
至 11
,MM
的取值范围为 00
至 59
。最早的时间为 00:00
,最晚的时间为 11:59
。
你需要将 s
中的 所有 "?"
字符替换为数字,使得结果字符串代表的时间是一个 有效 的 12 小时制时间,并且是可能的 最晚 时间。
返回结果字符串。
思路
分几种情况讨论。
- 对于 hh:
- 如果是
??
,那么就是11
; - 如果是
?X
,如果 X 小于2
,就是1X
,否则是0X
; - 如果是
X?
,如果 X 为 0,就是X9
,否则是X1
(11)。
- 如果是
- 对于 mm:
- 如果是
??
,那么就是59
; - 如果是
?X
,那么就是5X
; - 如果是
X?
,那么就是X9
。
- 如果是
最终代码: