编程题:亲密字符串
Alan找到一种**亲密字符串**(字符串都亲密起来了,?注意),定义如下:
给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过**交换** A 中的**两个**字母得到与 B 相等的结果,就返回 True ;否则返回 False 。
> 交换字母的定义是取两个下标 i 和 j (下标从 0 开始),只要 i!=j 就交换 A[i] 和 A[j] 处的字符。例如,在 "abcd" 中交换下标 0 和下标 2 的元素可以生成 "cbad" 。
### 输入格式:
输入两行字符串,分别代表字符串A 和 字符串B。
提示:
- 0 ≤ len(A) ≤ $$10^5$$
- 0 ≤ len(B) ≤ $$10^5$$
- A 和 B 仅由小写字母构成。
### 输出格式:
如果A和B是亲密字符串,输出True,
如果不是,输出False。
### 输入样例:
in
ab
ba
### 输出样例:
out
True
#### 样例说明
你可以交换 A[0] = 'a' 和 A[1] = 'b' 生成 "ba",此时 A 和 B 相等。
---
### 输入样例:
in
ab
ab
### 输出样例:
out
False
#### 样例说明
你只能交换 A[0] = 'a' 和 A[1] = 'b' 生成 "ba",此时 A 和 B 不相等。
### 输入样例:
in
aaa
aaa
### 输出样例:
out
True
#### 样例说明
字符串A可以完成一次交换,使得字符串AB依然相等
答案:若无答案欢迎评论
给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过**交换** A 中的**两个**字母得到与 B 相等的结果,就返回 True ;否则返回 False 。
> 交换字母的定义是取两个下标 i 和 j (下标从 0 开始),只要 i!=j 就交换 A[i] 和 A[j] 处的字符。例如,在 "abcd" 中交换下标 0 和下标 2 的元素可以生成 "cbad" 。
### 输入格式:
输入两行字符串,分别代表字符串A 和 字符串B。
提示:
- 0 ≤ len(A) ≤ $$10^5$$
- 0 ≤ len(B) ≤ $$10^5$$
- A 和 B 仅由小写字母构成。
### 输出格式:
如果A和B是亲密字符串,输出True,
如果不是,输出False。
### 输入样例:
in
ab
ba
### 输出样例:
out
True
#### 样例说明
你可以交换 A[0] = 'a' 和 A[1] = 'b' 生成 "ba",此时 A 和 B 相等。
---
### 输入样例:
in
ab
ab
### 输出样例:
out
False
#### 样例说明
你只能交换 A[0] = 'a' 和 A[1] = 'b' 生成 "ba",此时 A 和 B 不相等。
### 输入样例:
in
aaa
aaa
### 输出样例:
out
True
#### 样例说明
字符串A可以完成一次交换,使得字符串AB依然相等
答案:若无答案欢迎评论