给你一个字符串 s
。
你的任务是重复以下操作删除 所有 数字字符:
- 删除 第一个数字字符 以及它左边 最近 的 非数字 字符。
请你返回删除所有数字字符以后剩下的字符串。
示例 1:
输入:s = "abc"
输出:"abc"
解释:
字符串中没有数字。
示例 2:
输入:s = "cb34"
输出:""
解释:
一开始,我们对 s[2]
执行操作,s
变为 "c4"
。
然后对 s[1]
执行操作,s
变为 ""
。
class Solution:
def clearDigits(self, s: str) -> str:
while True:
index = -1
# 查找第一个数字字符
for i in range(len(s)):
if '0' <= s[i] <= '9': # 检查是否为数字字符
index = i
break
# 如果没有找到数字字符,则结束
if index == -1:
break
# 删除数字字符及其左边最近的非数字字符
if index > 0:
s = s[:index-1] + s[index+1:] # 删除左边的非数字字符和数字字符
else:
s = s[index+1:] # 删除数字字符(如果没有左边的非数字字符)
return s