📅  最后修改于: 2023-12-03 15:28:40.844000             🧑  作者: Mango
问题3要求我们实现一个算法,将一个字符串中的符号 $
转换成一个数字。
输入是一个包含 $
符号的字符串 s
,符号 $
代表一个数字。输入的字符串最多包含100个字符。
输出一个字符串 ans
,代表将输入字符串中所有的 $
都替换成数字后的结果。如果字符串中不包含 $
符号,则输出原字符串。
输入:
"abc$def$gh"
输出:
"abc1def2gh"
可以使用字符串的遍历来实现该算法,遇到 $
符号就记录一个数字,然后将 $
替换成该数字即可。
def replace_dollar_with_number(s):
num = 1
ans = ""
for c in s:
if c == "$":
ans += str(num)
num += 1
else:
ans += c
return ans
assert replace_dollar_with_number("abc$def$gh") == "abc1def2gh"
assert replace_dollar_with_number("a$b$c$d$") == "a1b2c3d4"
assert replace_dollar_with_number("$e$e") == "1e2e"
assert replace_dollar_with_number("no$number") == "no$number"
以上是对 GATE MOCK 2017 - 问题3
的解答。