牛客华为机试HJ26
作者:互联网
1. 问题描述
2. Solution
1、思路
把所有的字母都取出来l,存到letters中,对letters按大写字母排序(或小写字母),遍历原始字符串s,工作变量为c,若c为字母则从排序后的letters中取出下一个字符添加到结果列表res中,不然把c添加到结果列表中。
2、实现
import sys
def solve(s):
res = []
letters = [c for c in s if c.isalpha()]
letters.sort(key=lambda x: x.upper())
let_idx = 0
for i in range(len(s)):
if s[i].isalpha():
res.append(letters[let_idx])
let_idx += 1
else:
res.append(s[i])
print("".join(res))
for line in sys.stdin:
s = line.strip()
solve(s)
标签:letters,idx,res,sys,牛客,let,append,机试,HJ26 来源: https://www.cnblogs.com/junstat/p/16163642.html