[Leetcode] 242. 有效的字母异位词 java hashmap
2018-10-09 16:23
375 查看
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。
示例 1:
输入: s = "anagram", t = "nagaram" 输出: true
示例 2:
输入: s = "rat", t = "car" 输出: false
说明:
你可以假设字符串只包含小写字母。
进阶:
如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?
思路:
1、两个字符串长度不同,一定不是异位词,return false
2、先把字符串s map.put() 到hashmap,再用字符串t map.get(),如果get到了,把value-1。直到value=0,map.remove()
[code]class Solution { public boolean isAnagram(String s, String t) { HashMap<Character,Integer> map=new HashMap<>(); if(s.length()!=t.length()){ return false; } for(int i=0;i<s.length();i++){ if(map.containsKey(s.charAt(i))){ map.put(s.charAt(i),map.get(s.charAt(i))+1); }else{ map.put(s.charAt(i),1); } } for(int j=0;j<t.length();j++){ if(map.containsKey(t.charAt(j))){ map.put(t.charAt(j),map.get(t.charAt(j))-1); if(map.get(t.charAt(j))==0){ map.remove(t.charAt(j)); } }else{ return false; } } return true; } }
阅读更多
相关文章推荐
- leetcode 242 有效的字母异位词
- LeetCode242有效的字母异位词
- 字母异位词分组 - LeetCode
- leetcode_java.T020_ValidParentheses 给定一个只包含(‘, ‘)’, ‘{‘, ‘}’, ‘[’ 和‘]’的字符串,验证它是否是有效的。
- 【LeetCode-面试算法经典-Java实现】【032-Longest Valid Parentheses(最长有效括号)】
- 【LeetCode-面试算法经典-Java实现】【032-Longest Valid Parentheses(最长有效括号)】
- java将汉字转成拼音并按照首字母排序的有效方法。
- Leetcode 49. 字母异位词分组
- 【LeetCode刷题】有效的括号字符串Valid Parentheses(java)
- 【初级算法】15. 有效的字母异位词
- [Leetcode] 229. 求众数 II java hashmap
- LeetCode[136] Single Number 位运算异或,HashMap(Java)
- [Leetcode] 387. 字符串中的第一个唯一字符 java hashmap与ASCII码
- LeetCode 1. Two Sum java solution with HashMap
- 【leetcode】【Single Number题目】java 异或运算解决数字出现偶数次还是奇数次问题||HashMap
- [Leetcode] 290. 单词模式 java hashmap
- LeetCode-36. Valid Sudoku (JAVA)(有效数独)
- Combination Sum II leetcode java
- 有效使用Mock编写java单元测试