[程序員面試寶典]翻轉字串

之前做過類似的題目,先用256數組(ASCII碼個數)保存每個元素出現的個數,如果個數一樣就說明可以轉換

class ReverseEqual {
public:
    bool checkReverseEqual(string s1, string s2) {
        if(s1.size()!= s2.size())
            return false;
        
        int num1[256];
        int num2[256];
        for(int i=0; i<256; i++)
            num1[i] = num2[i] = 0;
        
        for(int i=0; i<s1.size(); i++)
            {
            int tmp1 = s1[i];
            int tmp2 = s2[i];
            num1[tmp1]++;
            num2[tmp2]++;
        }
        
        for(int i=0; i<256; i++)
            {
            if(num1[i]!=num2[i])
                return false;
        }
        
        return true;
    }
};



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章