• LeetCode【242. 有效的字母异位词】


    这道题首先想到的是,计算字符串的各个字母的数量,然后,比较各个字母数量是否相等。

    在此就可以想到字母的ASCII码,题目标明只有小写,那么,怎么将每个字母数量各个计算。以及存入数组中,

    可以先定义一个26长度的数组,然后,对于字母数量,就可以在charAt(i)-97的位置的+1,再进行比较两个数组是否

    完全相等,在其中,如果不等,就直接break,最后,就可以根据 i 进行判断,如果 i 不等于26,表示两数组不是完全相等

    ,则输出false,如果等于,就可以输出true.

    class Solution {
        public boolean isAnagram(String s, String t) {
            int i,j;
            int c1 = s.length();
            int c2 = t.length();
            int[] sa = new int[26];
            int[] ta = new int[26];
            if(c1 != c2)
            {
                return false; 
            }
            for(i = 0;i <= c1-1;i++)
            {
                sa[s.charAt(i) - 97]++;
                ta[t.charAt(i) - 97]++;
            }
            for(i = 0;i <= 25;i++)
            {
                if(sa[i] != ta[i])
                {
                    break;
                }
            }
            if(i == 26)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }
  • 相关阅读:
    ZIP压缩算法详细分析及解压实例解释
    nyoj 269 VF
    骨牌覆盖问题 KxM
    骨牌覆盖问题
    省赛总结...
    归并排序求逆序对
    「JLOI2014」松鼠的新家
    「JSOI2011」任务调度
    「JSOI2010」找零钱的洁癖
    「JSOI2011」棒棒糖
  • 原文地址:https://www.cnblogs.com/wzwi/p/11044022.html
Copyright © 2020-2023  润新知