日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

一:題目

二:上碼

1:方法一(map解法)

class Solution { public:bool isAnagram(string s, string t) {/**思路:1.分析題意,這個是要判斷t中的字符出現(xiàn)次數(shù)和s中字符出現(xiàn)的次數(shù)相同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:方法二(哈希表 數(shù)組)

class Solution { public:bool isAnagram(string s, string t) {/**思路:1.分析題意,這個是要判斷t中的字符出現(xiàn)次數(shù)和s中字符出現(xiàn)的次數(shù)相同2.判斷一個元素是否出現(xiàn)過的場景也應(yīng)該第一時(shí)間想到哈希法,本題中我們是來判斷t中的元素是否在s中出現(xiàn)過3.這里我們選用一個數(shù)組array[26] 來當(dāng)作哈希表,小寫字母[a.z]在數(shù)組中的下標(biāo)范圍為[0.25]4.我們先統(tǒng)計(jì)s中字符的在array[26]中對應(yīng)下標(biāo)出現(xiàn)的個數(shù),然后我們再遍歷t中字符在array中出現(xiàn)了就將其下標(biāo)對應(yīng)的個數(shù)減一,那么最后看看數(shù)組最后的每個值是否均為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;} };

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。