zoukankan      html  css  js  c++  java
  • *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.

    解法一: sort!

     
    public class Solution {
            public boolean isAnagram(String s, String t) {
                char[] schar = s.toCharArray();
                char[] tchar = t.toCharArray();
                Arrays.sort(schar);
                Arrays.sort(tchar);
                s = new String(schar);
                t = new String(tchar);
                return s.equals(t);
            }
        }

     解法二:hashmap

    import java.util.*;
    public class Solution {
        public boolean isAnagram(String s, String t) {
            if(s.length()!=t.length()) return false;
            
            Hashtable<Character, Integer> 
                theTableS = new Hashtable<Character, Integer>(),
                theTableT = new Hashtable<Character, Integer>();
            for (char i:s.toCharArray()) {
                if (theTableS.containsKey(i))
                    theTableS.put(i,theTableS.get(i)+1);
                else theTableS.put(i,1);
            }
            for (char i:t.toCharArray()) {
                if (theTableT.containsKey(i)) 
                    theTableT.put(i,theTableT.get(i)+1);
                else theTableT.put(i,1);
            }
            return theTableT.equals(theTableS);
        }
    }

     解法三:O(n) time, O(1) space

    public class Solution {
        public boolean isAnagram(String s, String t) {
            int[] alphabet = new int[26];
            for (int i = 0; i < s.length(); i++) alphabet[s.charAt(i) - 'a']++;
            for (int i = 0; i < t.length(); i++) alphabet[t.charAt(i) - 'a']--;
            for (int i : alphabet) if (i != 0) return false;
            return true;
        }
    }
  • 相关阅读:
    POJ1006: 中国剩余定理的完美演绎(非原创)
    poj 1001 分析
    document.createElement()的用法
    js innertext
    转csdn-css4
    css中最基本几个选择器
    Django解决(1146, "Table 'd42.django_session' doesn't exist")方法
    django清理migration终极解决办法
    linux中的fork炸弹
    nginx转发php文件到php-fpm服务器提示502错误
  • 原文地址:https://www.cnblogs.com/hygeia/p/4858494.html
Copyright © 2011-2022 走看看