资讯详情

有效的变位词

  1. 链接: https://leetcode.cn/problems/dKk3P7/
  2. 题目: 给出两个字符串 s 和 t ,编写个函数来判断它们是否是一组变位词(字母异位词)。 注意:若 s 和 t 每个字符出现的次数相同,字符顺序不完全相同,称为 s 和 t 相互变位词(字母异位词)。 示例:

输入: s = “anagram”, t = “nagaram” 输出: true

  1. 思路:
    1. 第一,排序。字符串。 s 和 t 如果长度不相等或完全相等,则不是变位词。变位词相当于两个字符串不相等,但排序后相等。所以是的 s 和 t 先排序,如果排序后两个字符串相等,则返回真实,否则返回假。
    2. 第二,哈希 s 遍历,用map将字母的出现次数记录下来,再对 t 进行遍历,减去出现字母的次数,如果出现负数,则返回假。在遍历结束后,如果没有返回,则返回真实。
  2. 代码:
class Solution { 
        public:     bool isAnagram(string s, string t) { 
              //两种方法公有部分         if(s==t||s.size()!=t.size())         return false;     //第一,排序         sort(s.begin(),s.end());         sort(t.begin(),t.end());         return s==t;     //第二种,哈希         map<char,int> ans;         for(int i=0;i<s.size();i )         ans[s[i]] ;         for(int i=0;i<t.size();i++){ 
       
            ans[t[i]]--;
            if(ans[t[i]]<0)
            return false;
        };
        return true;
        
    }
};

标签: dkk浓度传感器me61t

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台