C++ Solution || HashTable
\n# if it\'s help, please up \u2B06 vote! \u2764\uFE0F\n###### Let\'s Connect on Linkedin: www.linkedin.com/in/shishirrsiam\n\n\n\n\n\n# Code\ncpp []\nclass Sol
\n# if it\'s help, please up \u2B06 vote! \u2764\uFE0F\n###### Let\'s Connect on Linkedin: www.linkedin.com/in/shishirrsiam\n\n\n\n\n\n# Code\n```cpp []\nclass Solution {\npublic:\n    void swapChar(vector<char> &vec)\n    {\n        int n = vec.size(), Hash = 0;\n        unordered_map<int, int>store;\n        for(int i = 0; i < n; i++)\n        {\n            Hash += vec[i] == \'#\';\n            if(vec[i] == \'*\')\n                store[i] = Hash, Hash = 0;\n        }\n        if(Hash) store[n] = Hash;\n\n        for(auto [idx_i, count] : store)\n        {\n            int idx = idx_i;\n            while(count--) vec[--idx] = \'#\';\n            while(idx-- and vec[idx] != \'*\') vec[idx] = \'.\';\n        }\n    }\n\n    vector<vector<char>> rotateTheBox(vector<vector<char>>& box) \n    {\n        int n = box.size(), m = box[0].size();\n        for(auto &Box:box) swapChar(Box);\n\n        vector<vector<char>>box90;\n        for(int i = m - 1; i >= 0; i--)\n        {\n            vector<char>temp;\n            for(int j = n - 1; j >= 0; j--)\n                temp.push_back(box[j][i]);\n            box90.push_back(temp);\n        }\n\n        reverse(begin(box90), end(box90));\n        return box90;\n    }\n};\n```
['Array', 'Two Pointers', 'Matrix', 'C++']