LeetCode 49: Anagrams

来源:互联网 发布:三星n9008刷4g网络 编辑:程序博客网 时间:2024/05/21 21:35

Difficulty: 3

Frequency: 4


Problem:

Given an array of strings, return all groups of strings that are anagrams.

Note: All inputs will be in lower-case.

Solution:

class Solution {public:    vector<string> anagrams(vector<string> &strs) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        vector <string> answer;        if (strs.size()<=1)            return answer;                    map <string, int> anas;                for (int i = 0; i<strs.size(); i++)        {            string s = strs[i];            sort(s.begin(), s.end());            if (anas.find(s)==anas.end())            {                anas[s] = i;            }            else            {                if (anas[s]>=0)                {                    answer.push_back(strs[anas[s]]);                    anas[s] = -1;                }                answer.push_back(strs[i]);            }        }        return answer;    }};


Notes:

This not my code. It is AnnieKim's code. Thank her very much for publishing her code.

原创粉丝点击