3174. 清除数字
题目描述:
给你一个字符串 s
。
你的任务是重复以下操作删除 所有 数字字符:
- 删除 第一个数字字符 以及它左边 最近 的 非数字 字符。
请你返回删除所有数字字符以后剩下的字符串。
示例 1:
输入: s = "abc"
输出:"abc"
解释:
字符串中没有数字。
示例 2:
输入: s = "cb34"
输出:""
解释:
一开始,我们对 `s[2]` 执行操作, `s` 变为 `"c4"` 。
然后对 `s[1]` 执行操作, `s` 变为 `""` 。
提示:
1 <= s.length <= 100
s
只包含小写英文字母和数字字符。- 输入保证所有数字都可以按以上操作被删除。
解题分析及思路:
方法:栈
思路:
题目中要求删除所有数字字符,所以可以使用栈来存储非数字字符,遍历字符串
- 如果当前字符为非数字,则将当前字符入栈;
- 如果当前字符为数字,弹出栈顶元素。
复杂度:
- 时间复杂度:O(N)
- 空间复杂度:O(N)
执行结果:
- 执行耗时:0 ms,击败了100.00% 的Go用户
- 内存消耗:2.2 MB,击败了99.34% 的Go用户