比较字符串
来源:互联网 发布:怎么报考网络教育 编辑:程序博客网 时间:2024/04/28 19:10
题目描述:比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是 大写字母
样例:给出 A = "ABCD", B = "ACD",返回 true;给出 A = "ABCD", B = "AABC", 返回 false
这里面需要注意的是A,B中可能有重复的字符。
因此,既然是判断A是否全部包含B,可以这样做:
1. 扫描A,然后用一个hash表记录A中出现的每一个每个字符以及出现的次数。
2. 扫描B,在上一步生成的hash表中查找扫描的B的字符,若找到,令hash表相应的键所对应的值-1,若找不到,或者现在某个键所对应的值小于0了(也就是为-1了)那么直接返回False
3. 若将B扫描完,还没返回False,则返回True.
思路清楚了,代码就很简单:
class Solution: """ @param A : A string includes Upper Case letters @param B : A string includes Upper Case letters @return : if string A contains all of the characters in B return True else return False """ def compareStrings(self, A, B): hash_table = {} for i in A: if i not in hash_table: hash_table[i] = 1 else: hash_table[i] += 1 for i in B: if i in hash_table: hash_table[i] -= 1 if hash_table[i] < 0: return False else: return False return True # write your code here
0 0
- 字符串比较
- 字符串比较
- 字符串比较
- 字符串比较
- 字符串比较
- 比较字符串
- 字符串比较
- 比较字符串
- 字符串比较
- 字符串比较
- 字符串比较
- 字符串比较
- 字符串比较
- 字符串比较
- 字符串比较
- 字符串比较
- 字符串比较
- 比较字符串
- 几种枚举窗口的方法(包括猥琐的你懂得)
- objective-c - 基础篇 - 数据库网络 -- 使用NSURLSession进行POST请求的网络数据
- 【android】:android之创建多个活动
- Android Studio中安装OpenCV SDK
- sdk版本对应的android版本
- 比较字符串
- leetcode---Swap Nodes in Pairs
- ListView优化之一:重用convertView
- Firefox必备的24款web开发插件
- @RequestParam @RequestBody @PathVariable 等参数绑定注脚详解
- 解决HierarchyViewer不能连接真机的问题
- 延迟菜单实现
- Linux centos 下 eclipse 打开文件时关闭
- 关于小米无人机的未来