242.|242. Valid Anagram
题目分析
【242.|242. Valid Anagram】原题链接,登陆 LeetCode 后可用
这道题目我理解的是给两个字符串,然后判断一下这两个字符串是不是字符串中每个字母的个数都相同,只是位置可能不同。
这里想到的第一个解法是用一个Map来统计字符串 s 中每个字符的个数,然后再统计字符串 t 的情况。判断两个字符串中每个字符出现的次数是否相同。
代码
class Solution {
public boolean isAnagram(String s, String t) {
Map shm = new HashMap();
char[] sa = s.toCharArray();
char[] ta = t.toCharArray();
// 统计 s 字符串情况
for(Character c : sa) {
if(shm.containsKey(c)) {
shm.put(c, shm.get(c) + 1);
} else {
shm.put(c, 1);
}
}
for(Character c : ta) {
if(!shm.containsKey(c)) {
return false;
} else {
shm.put(c, shm.get(c) - 1);
if(shm.get(c) == 0) {
shm.remove(c);
}
}
}
// 这种情况容易漏掉
if(!shm.isEmpty()) {
return false;
}
return true;
}
}
推荐阅读
- 解决SyntaxError:|解决SyntaxError: invalid syntax
- cannot|cannot be read or is not a valid ZIP file
- mac升级之(xcrun:|mac升级之:xcrun: error: invalid active developer path, missing xcrun)
- element-ui表单验证例子(validateField验证部分表单)
- 寻找写代码感觉(十六)之|寻找写代码感觉(十六)之 集成Validation做参数校验
- Unable|Unable to add window -- token null is not valid; is your activity running?
- RpcException:|RpcException: Invalid token! Failed to invoke method
- 解决vue项目中的“Invalid|解决vue项目中的“Invalid Host header”
- iOS|iOS -- crash
- Mac 本升级系统后Git出现xcrun: error: invalid active developer path的问题