leetcode--Valid Anagram
来源:互联网 发布:程序员联合开发网站 编辑:程序博客网 时间:2024/06/05 03:38
题目:Valid Anagram
Given two strings s and t, write a function to determine if t is an anagram of s.
For example,
s = "anagram", t = "nagaram", return true.
s = "rat", t = "car", return false.
Note:
You may assume the string contains only lowercase alphabets.
One:利用map分别存储并统计两个字符串的<字母,数量>,最后比较两个Map,注意Map的比较。
public class Solution { public boolean isAnagram(String s, String t) { if(s==null||t==null||s.length()!=t.length())return false; Map<Character,Integer> maps = new HashMap<Character,Integer>(); Map<Character,Integer> mapt = new HashMap<Character,Integer>(); for(int i=0;i<s.length();i++){ if(maps.containsKey(s.charAt(i))){ maps.put(s.charAt(i),maps.get(s.charAt(i))+1); }else{ maps.put(s.charAt(i),1);} if(mapt.containsKey(t.charAt(i))){ mapt.put(t.charAt(i),mapt.get(t.charAt(i))+1); }else{mapt.put(t.charAt(i),1);} } for(Character key : maps.keySet()){ if(!mapt.containsKey(key)||!maps.get(key).equals(mapt.get(key)))return false; } return true; }}
Two:利用一个长为26的数组,用0-26个小写字母位置++记录s字符串,--记录t字符串,最后看数组的每个位置是否为0来判断。
public class Solution { public boolean isAnagram(String s, String t) { if(s.equals(t)) return true; if(s==null||t==null||s.length()!=t.length()) return false; int[] num=new int[26]; for(int i=0;i<s.length();i++){ num[s.charAt(i)-'a']++; num[t.charAt(i)-'a']--; } for(int i:num ){ if(i!=0) return false; } return true; }}
0 0
- Leetcode #242 Valid Anagram
- leetcode-242-Valid Anagram
- Leetcode: Valid Anagram
- 【leetCode】Valid Anagram
- [leetcode] 242.Valid Anagram
- leetcode 242: Valid Anagram
- 【leetcode】Valid Anagram
- [leetcode] Valid Anagram
- LeetCode Valid Anagram
- 【LeetCode】242 Valid Anagram
- [LeetCode] Valid Anagram
- leetcode: Valid Anagram
- leetCode(53):Valid Anagram
- leetcode Valid Anagram 异位体
- [leetcode 242]Valid Anagram
- leetcode Valid Anagram
- leetCode #242 Valid Anagram
- LeetCode题解:Valid Anagram
- Unity3D工程版本管理方案
- 计算机系统原理(第二周数据的表示和存储)【无符号整数和带符号整数】
- 常用机器视觉软件
- .html .jsp .jsf等等有什么区别
- 第一课:C过渡到C++--之二
- leetcode--Valid Anagram
- Hadoop之HDFS基础
- 51 leetcode - Minimum Size Subarray Sum
- 光纤通信(Optical Fiber Communication)
- MapReduce 过程简单介绍
- Leetcode 389 Find the Difference
- Solr基本概念杂谈
- 0067 硬盘插在电脑上无显示的解决办法
- 深入理解Java虚拟机 三、内存分配与回收