zoukankan      html  css  js  c++  java
  • 242.Valid Anagram


    Given two strings s and t , write a function to determine if t is an anagram of s.
    Input: s = "anagram", t = "nagaram"
    Output: true

    难点:没读懂题意,开始以为是映射,提交好几次都不AC。后来才知道是两个字符串中相同的字符出现的次数是否一样
    思路:利用数组或者哈希字典,存储字符串中的字符出现的次数,再遍历字符串 t 。

    bool isAnagram(string s, string t) {
        if (s.length() != t.length()) return false;
        int a[26] = { 0 };
        for (int i = 0; i < s.length(); i++) {
            a[s[i] - 'a'] += 1;
            a[t[j] - 'a'] -= 1;
        }
        for (int i = 0; i < 26; i++) {
            if (a[i] != 0) return false;
        }
        return true;
    }

    Java 版:

    class Solution {
        public boolean isAnagram(String s, String t) {
            if(s.length() != t.length()) return false;
            int[] array = new int[26];
            for(int i=0; i < s.length(); i++){
                array[s.charAt(i) -'a']++;
                array[t.charAt(i) -'a']--;
            }
            for(int a: array){
                if(a != 0) return false;
            }
            return true;
        }
    }
  • 相关阅读:
    Ubuntu 18.04 初始化(server版本 )
    named主从环境部署
    CentOS 源码安装svn
    端口状态
    进程状态
    top命令详解
    gitlab部署
    day16
    day15
    day14
  • 原文地址:https://www.cnblogs.com/luo-c/p/12879445.html
Copyright © 2011-2022 走看看