[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/yanlingli3799/algorithm/master/Leetcode_262_115_java.java [Back]  [Original]

package data.leetcode.hash; import java.util.HashMap; public class Leetcode262 { /** * * : 57 ms, Valid AnagramJava15.39% * : 41.9 MB, Valid AnagramJava25.98% * * @param s * @param t * @return */ public static boolean isAnagram(String s, String t) { if (s.length() != t.length()) return false; HashMap sMap = new HashMap(); for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); Integer integer = sMap.get(c); if (integer == null) { integer = 0; } sMap.put(c, ++integer); } for (int i = 0; i < t.length(); i++) { if (sMap.containsKey(t.charAt(i))) { Integer integer = sMap.get(t.charAt(i)); integer--; if (integer == 0) { sMap.remove(t.charAt(i)); } else { sMap.put(t.charAt(i), integer); } } else { return false; } } return true; } /** * 26 *

* : 4 ms, Valid AnagramJava96.25% * : 38.1 MB, Valid AnagramJava95.44% * */ public static boolean isAnagram2(String s, String t) { if (s.length() != t.length()) return false; int[] freq1 = new int[26]; int[] freq2 = new int[26]; for (int i = 0; i < s.length(); i++) freq1[s.charAt(i) - 'a']++; for (int i = 0; i < t.length(); i++) freq2[t.charAt(i) - 'a']++; for (int i = 0; i < 26; i++) { if (freq1[i] != freq2[i]) return false; } return true; } public static void main(String[] args) { isAnagram2("aacc", "ccac");//false isAnagram2("aacc", "caac");//true } }


Web Proxy Viewer  |  New URL  |  Original Page