首页 > 代码库 > 242. Valid Anagram
242. 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.
Solution1:
偷懒做道简单点的。sort再比较,naive。
public class Solution { public boolean isAnagram(String s, String t) { if(s.length()!=t.length()) { return false; } char[] sarr=s.toCharArray(); char[] tarr=t.toCharArray(); Arrays.sort(sarr); Arrays.sort(tarr); for(int i=0;i<sarr.length;i++) { if(sarr[i]!=tarr[i]) { return false; } } return true; }}
Solution2:
用map做了另一种解法,先存s和个数,然后再查t。查看个数是不是小于等于0.
public class Solution { public boolean isAnagram(String s, String t) { if(s.length()!=t.length()) { return false; } Map<Character,Integer> smap=new HashMap<Character,Integer>(); for(int i=0;i<s.length();i++) { if(!smap.containsKey(s.charAt(i))) { smap.put(s.charAt(i),1); } else { int count=smap.get(s.charAt(i)); smap.put(s.charAt(i),++count); } } for(int i=0;i<t.length();i++) { if(!smap.containsKey(t.charAt(i))) { return false; } else { if(smap.get(t.charAt(i))<=0) { return false; } else { int count2=smap.get(t.charAt(i)); smap.put(t.charAt(i),--count2); } } } return true;}}
242. Valid Anagram
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。