题解 | #字符串合并处理#
字符串合并处理
https://www.nowcoder.com/practice/d3d8e23870584782b3dd48f26cb39c8f
s1,s2 = input().split()
#step1 合并
s = s1 + s2
#step2 进行排序,下标为奇数的字符和下标为偶数的字符分别从小到大排序
ji_s = []
ou_s = []
for i in range(len(s)):
if i % 2 == 0:#偶数
ou_s.append(s[i])
else:
ji_s.append(s[i])
ou_s.sort()
ji_s.sort()
#合并回
s = []
flag =False if len(ou_s) == len(ji_s) else True
for i in range(len(ji_s)):
s.append(ou_s[i])
s.append(ji_s[i])
if flag:
s.append(ou_s[-1])
def to_bin(st):
if st in set("abcdef"):
st = st.upper()
dic = {"A":10,"B":11,"C":12,"D":13,"E":14,"F":15}
num =dic[st] if st in dic else int(st)
cur = bin(num).split("0b")[1]
cur = cur.zfill(4)
cur = cur[::-1]
ten = int(cur,2)
he = hex(ten).split("0x")[1]
dic_16 = set("abcdef")
if he in dic_16:
return he.upper()
return he
#偶数为大 5 2 3
for i in range(len(s)):
if s[i] in set("0123456789abcdefABCDEF"):
s[i] = to_bin(s[i])
print("".join(s))
顺丰集团工作强度 293人发布