题解 | #字符串合并处理#
字符串合并处理
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))