日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

leetcode242. 有效的字母异位词(两种方法map或数组)

發布時間:2023/12/4 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode242. 有效的字母异位词(两种方法map或数组) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一:題目

二:上碼

1:方法一(map解法)

class Solution { public:bool isAnagram(string s, string t) {/**思路:1.分析題意,這個是要判斷t中的字符出現次數和s中字符出現的次數相同2.可以用map<char,int>來做*/map<char,int>m1,m2;map<char,int>:: iterator mt1;map<char,int>:: iterator mt2;for(int i = 0; i < s.size(); i++) {m1[s[i]]++;}for(int i = 0; i < t.size(); i++){m2[t[i]]++;}if(m1.size() == m2.size()){int count = 0;for(mt1 = m1.begin(),mt2 = m2.begin(); mt1 != m1.end(),mt2 != m2.end();mt1++,mt2++){if(mt1->second == mt2->second && mt1->first == mt2->first){count++;}}if(count == m1.size()){return true;} }return false;} };

2:方法二(哈希表 數組)

class Solution { public:bool isAnagram(string s, string t) {/**思路:1.分析題意,這個是要判斷t中的字符出現次數和s中字符出現的次數相同2.判斷一個元素是否出現過的場景也應該第一時間想到哈希法,本題中我們是來判斷t中的元素是否在s中出現過3.這里我們選用一個數組array[26] 來當作哈希表,小寫字母[a.z]在數組中的下標范圍為[0.25]4.我們先統計s中字符的在array[26]中對應下標出現的個數,然后我們再遍歷t中字符在array中出現了就將其下標對應的個數減一,那么最后看看數組最后的每個值是否均為0,如果都為0,那么我們就可以返回true; */int array[26] = {0};for(int i = 0; i < s.size(); i++){array[s[i] - 'a']++;}for(int j = 0; j < t.size(); j++){array[t[j]-'a']--;}for(int i = 0; i < 26; i++){if(array[i] != 0){return false;}}return true;} };

總結

以上是生活随笔為你收集整理的leetcode242. 有效的字母异位词(两种方法map或数组)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。