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

    一、题目描述

    二、解法

    class Solution {
        public boolean isAnagram(String s, String t) {
            if (s.length() != t.length()) return false;
            int[] dict = new int[26];
            /**
             * 写法1
             */
            for (char c : s.toCharArray()) {
                dict[c - 'a'] ++;
            }
            for (char c : t.toCharArray()) {
                dict[c - 'a'] --;
                // 如果出现小于0的情况,则说明t包含一个不在s中的额外字符
                // 原因是两个串长度相等,有频次大于0的情况必存在频次小于0的元素
                if (dict[c - 'a'] < 0) {
                    return false;
                }
            }
            return true;
            /**
             * 写法2
             */
            /*for (int i = 0; i < s.length(); i++) {
                dict[s.charAt(i) - 'a'] ++;
                dict[t.charAt(i) - 'a'] --;
            }
            for (int count : dict) {
                if (count != 0) {
                    return false;
                }
            }
            return true;*/
        }
    }
  • 相关阅读:
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
  • 原文地址:https://www.cnblogs.com/HuangYJ/p/14117499.html
Copyright © 2011-2022 走看看