妹的,不明白anagram什么吊意思,后来明白了,转译成中文就是要满足下面几个要求:
1) 将某个单词里面的字母顺序重新排列后得到的单词与原来的单词满足anagram(翻译成回文?反正没见过)
2) 重新排列后得到的单词与原单词必须满足长度相等,因为原单词有可能有相同的字母,解题的时候这点要注意,下面是我写的C++代码,用到了STL的map

class Solution {
public:
    vector<string> anagrams(vector<string> &strs) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        map<string,vector<int> > hash;
        map<string,vector<int> >::iterator itr;
        vector<string> tmp(strs);
        vector<string> revalue;
        vector<string>::iterator it;
        for(it=tmp.begin() ; it!=tmp.end() ; it++)
            sort((*it).begin(),(*it).end());
        int i=0;
        int count;
        for(it=tmp.begin() ; it!=tmp.end() ; it++,i++)
            hash[*it].push_back(i);

        for( itr=hash.begin() ; itr!=hash.end() ; itr++){
            if((count=(itr->second).size())>1){
                for(int j=0 ; j<count ; j++)
                revalue.push_back(strs[(itr->second)[j]]);
            }
        }
        return revalue;   
    }
};

优质内容筛选与推荐>>
1、抽象类、接口和契约式编程
2、过程建模EPC
3、winwebMail发件箱为空的解决方案
4、【margin与padding的区别与用法】
5、一个简单的Hibernate工具类HibernateUtil


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号