005推斷兩個字符串是否是變位詞 (keep it up)
阿新 • • 發佈:2017-06-10
right sans color amp 兩個 我們 nag 排序 isa
寫一個函數推斷兩個字符串是否是變位詞。
變位詞(anagrams)指的是組成兩個單詞的字符同樣,但位置不同的單詞。比方說, abbcd和abcdb就是一對變位詞
這也是簡單的題。 我們能夠排序然後對照, 也能夠直接統計字符出現的個數來推斷。這裏給出統計字符來推斷的代碼:
bool isAnagram1(const string& vLeft, const string& vRight) { if (vLeft.size() != vRight.size()) return false; int Count[256]; memset(Count, 0, sizeof(Count)); for (unsigned int i=0; i<vLeft.size(); ++i) { ++Count[vLeft[i]]; --Count[vRight[i]]; } for (unsigned int i=0; i<vLeft.size(); ++i) { if (Count[vLeft[i]] !=0) return false; } return true; }
005推斷兩個字符串是否是變位詞 (keep it up)