zoukankan      html  css  js  c++  java
  • 242. 有效的字母异位词

    根据题意,异位词的意思为2个字符串中相同元素出现相同次数

    2次迭代,第一次迭代计算每个元素出现的次数,每次+1

    第二次迭代将每个元素,每次-1,。第二次迭代完成以后,

    若异位词成立,则每个key对应的value都应该为0,否则便不成立。

    时间O(n),空间O(m),m为2个字符串s和t的离散度

    public boolean isAnagram(String s, String t) {
            if (s.length()!=t.length()) return false;
            Map<Character,Integer> map = new HashMap<Character,Integer>();
            for (int i=0;i<s.length();i++){
                map.put(s.charAt(i),map.getOrDefault(s.charAt(i),0)+1);
            }
            for (int i=0;i<t.length();i++){
                map.put(t.charAt(i),map.getOrDefault(t.charAt(i),0)-1);
                if (map.get(t.charAt(i))<0) 
                    return false;
            }
            return true;
        }
    争取早日不再是一只菜鸡
  • 相关阅读:
    Python格式化字符 %s %d %f
    FTP学习笔记
    万维网
    TCP笔记
    TCP流量控制
    笔记传输层
    传输层协议
    网络层
    以太网笔记
    计算机网络物理层
  • 原文地址:https://www.cnblogs.com/jchen104/p/14591319.html
Copyright © 2011-2022 走看看