1093 字元串A+B (20分)
給定兩個字元串 A 和 B,本題要求你輸出 A+B,即兩個字元串的并集。要求先輸出 A,再輸出 B,但重複的字元必須被剔除。
輸入格式:
輸入在兩行中分别給出 A 和 B,均為長度不超過 106 的、由可見 ASCII 字元 (即碼值為32~126)和空格組成的、由回車辨別結束的非空字元串。
輸出格式:
在一行中輸出題面要求的 A 和 B 的和。
輸入樣例:
This is a sample test
to show you_How it works
輸出樣例:
This ampletowyu_Hrk
AC
分析:思路如下:
- 首先,将接收到的a和b字元串組合起來求集合去重
- 利用字典,構造所有a和b中的字元資訊标志,将所有值都置為0
- 定義函數single,當目前字元在字典中的值為0時(即沒有輸出過),輸出該字元,并将其在字典中的值置為1
- 調用single,a字元串在前,b字元串在後~
a = input()
b = input()
d = set(a + b)
flag = {}
for item in d:
flag[item] = 0
def single(ls):
for s in ls:
if flag[s] == 0:
print(s, end='')
flag[s] = 1
single(a)
single(b)