1. 程式人生 > 實用技巧 >LeetCode242. 有效的字母異位詞

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;
*/ } }