LeetCode:有效的字母异位词(c++)

    科技2025-05-18  6

    题目内容:

    给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

    示例 1:

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

    输入: s = "rat", t = "car" 输出: false 说明: 你可以假设字符串只包含小写字母。

    思路一:利用字符串排序,然后判断它们是否都是一样的。

    c++:

    class Solution { public: bool isAnagram(string s, string t) { sort(s.begin(),s.end()); sort(t.begin(),t.end()); return s==t; } };

    java:

    class Solution { public boolean isAnagram(String s, String t) { if(s.length()!=t.length()) { return false; } char[] str1 =s.toCharArray(); char[] str2 =t.toCharArray(); Arrays.sort(str1); Arrays.sort(str2); return Arrays.equals(str1,str2); } }

    思路二:使用c++中的map

    class Solution { public: bool isAnagram(string s, string t) { if(s.size()!=t.size()) return false; unodered_map<char,int>map; for(char c:s) map[c]++; for(char c:t) if(--map[c]==-1) return false; return true; } };

     

    Processed: 0.010, SQL: 8