给你一个由数字组成的字符串 s
。重复执行以下操作,直到字符串恰好包含 两个 数字:
s
中的每一对连续数字,计算这两个数字的和 模 10。s
的每一个字符,并保持原本的顺序。如果 s
最后剩下的两个数字相同,则返回 true
。否则,返回 false
。
示例 1:
输入: s = "3902"
输出: true
解释:
s = "3902"
(s[0] + s[1]) % 10 = (3 + 9) % 10 = 2
(s[1] + s[2]) % 10 = (9 + 0) % 10 = 9
(s[2] + s[3]) % 10 = (0 + 2) % 10 = 2
s
变为 "292"
(s[0] + s[1]) % 10 = (2 + 9) % 10 = 1
(s[1] + s[2]) % 10 = (9 + 2) % 10 = 1
s
变为 "11"
"11"
中的数字相同,输出为 true
。示例 2:
输入: s = "34789"
输出: false
解释:
s = "34789"
。s = "7157"
。s = "862"
。s = "48"
。'4' != '8'
,输出为 false
。
提示:
3 <= s.length <= 105
s
仅由数字组成。nCr
and use Pascal's triangle values here?nCr mod 10
can be uniquely determined from nCr mod 2
and nCr mod 5
.