卡码网 54.替换数字
问题描述
题目描述
给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。 例如,对于输入字符串 “a1b2c3”,函数应该将其转换为 “anumberbnumbercnumber”。
输入描述
输入一个字符串 s,s 仅包含小写字母和数字字符。
输出描述
打印一个新的字符串,其中每个数字字符都被替换为了number
输入示例
1 | a1b2c3 |
输出示例
1 | anumberbnumbercnumber |
提示信息
数据范围:
1 <= s.length < 10000。
核心思路
首先扩充数组到每个数字字符替换成 “number” 之后的大小。
然后从后向前替换数字字符,也就是双指针法。i指向新长度的末尾,j指向旧长度的末尾。
实现要点
很多数组填充类的问题,其做法都是先预先给数组扩容带填充后的大小,然后在从后向前进行操作。
这么做有两个好处:
- 不用申请新数组。
- 从后向前填充元素,避免了从前向后填充元素时,每次添加元素都要将添加元素之后的所有元素向后移动的问题。
code
1 |
|
-
时间复杂度:
-
空间复杂度:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小狐狸的被窝!
评论
WalineValine