程序員面試金典 1.3 確定兩串亂序同構

題目

給定兩個字符串,請編寫程序,確定其中一個字符串的字符重新排列後,能否變成另一個字符串。這裏規定大小寫爲不同字符,且考慮字符串重點空格。
給定一個string stringA和一個string stringB,請返回一個bool,代表兩串是否重新排列後可相同。保證兩串的長度都小於等於5000。

我的題解

class Same {
public:
    bool checkSam(string stringA, string stringB) {
        // write code here
        int counter[256] = {0}, i = 0;

        if(stringA.size() != stringB.size())
        return false;
        for(; i < stringA.size(); ++ i) {
            counter[stringA[i]] ++;
        }

        for(i = 0; i < stringB.size(); ++ i) {
            if(counter[stringB[i]] == 0)
                return false;
            else counter[stringB[i]] --;
        }

        return true;
    }
};

一個簡單的多維計數器。

發佈了28 篇原創文章 · 獲贊 0 · 訪問量 5739
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章