如何实现数字字符串中每个元素按自身数值重复对应次数的功能
实现思路
- 第一步:将输入的数字转为字符串格式,遍历每一位数字字符
- 第二步:对每个单独的数字字符,先转为整数得到重复次数,再将该字符重复对应次数
- 第三步:将所有重复后的字符片段拼接,得到最终结果
注意:数字0对应的重复次数为0,会自动从结果中忽略,符合示例规则
代码实现
Python 示例
def repeat_digits(num): num_str = str(num) res = [] for c in num_str: cnt = int(c) res.append(c * cnt) return ''.join(res) # 测试用例 print(repeat_digits(25104)) # 输出 225555514444
JavaScript 示例
function repeatDigits(num) { const numStr = num.toString() let res = '' for (let c of numStr) { const cnt = parseInt(c) res += c.repeat(cnt) } return res } // 测试用例 console.log(repeatDigits(25104)) // 输出 225555514444
Java 示例
public class RepeatDigits { public static String repeatDigits(int num) { String numStr = String.valueOf(num); StringBuilder res = new StringBuilder(); for (char c : numStr.toCharArray()) { int cnt = c - '0'; res.append(String.valueOf(c).repeat(cnt)); } return res.toString(); } public static void main(String[] args) { System.out.println(repeatDigits(25104)); // 输出 225555514444 } }
内容的提问来源于stack exchange,提问作者Mick M
相关产品推荐
相关产品推荐

