開哈希集合,遍歷字符串,未出現(xiàn)的字母加入哈希集合,如果字母出現(xiàn)過,返回這個字母即可。
class Solution {public:
char repeatedCharacter(string s) {unordered_setS;
for(auto &c:s)
if(!S.count(c)) S.insert(c);
else return c;
return 0;
}
};
字符集一共26
個字母,整型數(shù)有1
位符號位、31
位數(shù)字位,利用數(shù)字位,最多可以表示31
個不同的字符。數(shù)字位是1
表示有這一位,0
表示沒有這一位。一次遍歷字符串,利用位運(yùn)算,將字母對應(yīng)到數(shù)字位。當(dāng)前位是0
,變?yōu)?code>1;當(dāng)前位是1
,返回這個字母即可。
提示 : 位運(yùn)算小技巧i>>j&1
——i
表示存儲位運(yùn)算的數(shù)字,j
表示i
的第j
位。i>>j&1
檢查i
的第j
位是不是1
。
class Solution {public:
char repeatedCharacter(string s) {int ans = 0;
for(auto &c:s){if(ans>>c-'a'&1) return c;
ans |= 1<
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧