题目:
- 判断两个字符串是否互为变形词
- 字符串中数字子串的求和
- 去掉字符串中连续出现k个0的子串
- 判断两个字符串是否互为旋转词
- 将整数字符串转成整数值
- 替换字符串中连续出现的指定字符串
- 字符串的统计字符串
- 判断字符数组中是否所有的字符都只出现过一次
- 在有序但含有空的数组中查找字符串
- 字符串的调整与替换
- 翻转字符串
- 数组中两个字符串的最小距离
- 添加最少字符使字符串整体都是回文字符串
- 括号字符串的有效性和最长有效长度
- 公式字符串求值
一、判断两个字符串是否互为变形词
题目:给定两个字符串str1和str2,如果str1和str2中出现的字符种类一样且每种字符出现的次数也一样,则str1和str2互为变形词。
请实现函数判断两个字符串是否互为变形词。
举例:
str1="123", str2="231", 返回true;
str1="123", str2="2331",返回false。
思路:
1. 首先比较两个字符串的长度,长度不同肯定是false。
2. 如果长度相同,新建一个字典,用以存储每个字符出现次数。
3. 遍历str1,在str1 中出现一次就加1,遍历str2,在str2 中出现一次就减1,最后遍历完str2没有出现负值,就返回true。
代码:
from collections import Counter def IsDeformation(str1,str2): if not str1 or not str2 or len(str1) != len(str2): return False countstr1 = Counter(str1) for s2 in str2: if s2 in countstr1: countstr1[s2] -= 1 if countstr1[s2] < 0: return False else: return False return True str1 = '1234' str2 = '2313' IsDeformation(str1,str2)