• 2021.1.22 刷题(用数组实现哈希表)


    题目链接:https://leetcode-cn.com/problems/valid-anagram
    题目描述:
    给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

    示例 1:
    输入: s = "anagram", t = "nagaram"
    输出: true

    示例 2:
    输入: s = "rat", t = "car"
    输出: false
    说明:
    你可以假设字符串只包含小写字母。
    解题:
    1.字符串中只包含26个小写英文字母,可以定义一个长度为26的哈希表。
    2.先遍历记录字符串 s 中字符出现的频次。
    3.再遍历字符串 t,减去 t 中对应的频次。
    4.如果哈希表的值都为 0,则二者是字母异位词。

    class Solution {
    public:
        bool isAnagram(string s, string t) {
            if(s.size() != t.size())
                return false;
             vector<int> record(26, 0);
            for(char &c : s)
            {
                record[c - 'a']++;
            }
            for(char &c : t)
            {
                record[c - 'a']--;
            }
            for(int i = 0; i < 26; i++)
            {
                if(record[i]) return false;
                
            }
           return true;
        }
    };
    
    
  • 相关阅读:
    Spring-Cloud之Feign
    Spring-Cloud之Ribbon原理剖析
    Spring-Cloud之Ribbon
    Spring-Cloud之Eureka
    显示列表
    顶点缓存对象(VBO)
    OpenGL观察轴
    OpenGL顶点数组
    OpenGL投影矩阵
    OpenGL变换
  • 原文地址:https://www.cnblogs.com/ZigHello/p/14314873.html
Copyright © 2020-2023  润新知