Python 中的伙伴字符串
pythonserver side programmingprogramming更新于 2023/11/9 19:40:00
假设我们有两个小写字母的字符串 A 和 B;我们必须检查是否可以交换 A 中的两个字母,以使结果等于 B。
因此,如果输入为 A = "ba", B = "ab",则输出将为 True。
要解决这个问题,我们将遵循以下步骤 −
- 如果 A 的大小与 B 的大小不同,则
- 返回 False
- 否则,当 A 和 B 有任何不常见的元素时,则
- 返回 False
- 否则,当 A 与 B 相同且 A 中的所有字符都不同时,则
- 返回 False
- 否则,
- count:= 0
- 对于 i 在 0 到 A 的大小范围内的情况,执行
- 如果 A[i] 与 B[i] 不同,则
- count := count + 1
- 如果 count 与 3 相同,则
- 返回 False
- 如果 A[i] 与 B[i] 不同,则
- 返回 True
让我们看看以下实现以便更好地理解 −
示例
class Solution: def buddyStrings(self, A, B): if len(A)!=len(B): return False elif sorted(A)!=sorted(B): return False elif A==B and len(set(A))==len(A): return False else: count=0 for i in range(len(A)): if A[i]!=B[i]: count+=1 if count==3: return False return True ob = Solution() print(ob.buddyStrings("ba","ab"))
输入
"ba","ab"
输出
True