华为机试96-表示数字
题目描述
将一个字符中所有出现的数字前后加上符号“*”,其他字符保持不变
注意:输入数据可能有多行
输入描述:
输入一个字符串
输出描述:
字符中所有出现的数字前后加上符号“*”,其他字符保持不变
示例1
输入
Jkdi234klowe90a3
输出
Jkdi*234*klowe*90*a*3*
参考:
双指针
while True: try: num = list(input().strip()) res = [] n = len(num) i = 0 j = 0 while i < n: if num[i].isdigit(): res.append('*') res.append(num[i]) j = i+1 while j < n: if num[j].isdigit(): res.append(num[j]) #如果是数字,继续填入 j += 1 else: break #不是数字,退出 i = j res.append('*') else: res.append(num[i]) i += 1 print(''.join(list(map(str,res)))) except: break
执行结果: 答案正确:恭喜!您提交的程序通过了所有的测试用例 用例通过率: 100.00% 运行时间: 21ms 占用内存: 3496KB