【leetcode】 Anagrams

代码1:


#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
#include<map>
using namespace std;

class Solution
{
public:
    string fun(vector<string> str)
    {
        string a="";

        map<string,vector<string>>mp;
        cout<<str.size()<<endl;
        for(int i=0;i<str.size();i++)
        {
            string temp=str[i];
            sort(temp.begin(),temp.end());
            mp[temp].push_back(str[i]);
        }
        for(map<string,vector<string>>::iterator iter=mp.begin();iter!=mp.end();iter++)
        {
            if(iter->second.size()>1)
            {
                for(vector<string>::iterator it=iter->second.begin();it!=iter->second.end();it++)
                {
                    a+=*it;
                    a.append(1,',');

                }
            }
        }
        return a;
    }
};


class Solution2
{
public:
    string fun(vector<string> str)
    {
        string a="";

        map<string,int>mp;
        vector<string>ans;
        cout<<str.size()<<endl;
        for(int i=0;i<str.size();i++)
        {
            string temp=str[i];
            sort(temp.begin(),temp.end());
            map<string,int>::iterator iter=mp.find(temp);
            if(iter==mp.end())
            {
                mp[temp]=1;
            }
            else
                mp[temp]++;
        }
        for(int i=0;i<str.size();i++)
        {
            string temp=str[i];
            sort(temp.begin(),temp.end());
            if(mp.find(temp)!=mp.end()&&mp[temp]>1)
            {
                    a+=str[i];
                    a.append(1,',');    
            }
        }
        return a;
    }
};


void main()
{
    Solution solution2;
    string str[5]={" eat","a te","li mk","mil k","tae "};
    vector<string>s(str,str+5);
    string result;
    /*for(int i=0;i<5;i++)
        s.push_back(str[i]);*/
    result=solution2.fun(s);
    //for(vector<string>::iterator iter=result.begin();iter!=result.end();iter++)
        //cout<<*iter<<endl;
    cout<<result;

}

代码2:


#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
#include<map>
using namespace std;


class Solution2
{
public:
    string fun(vector<string> str)
    {
        string a="";

        map<string,int>mp;
        vector<string>ans;
        cout<<str.size()<<endl;
        for(int i=0;i<str.size();i++)
        {
            string temp=str[i];
            sort(temp.begin(),temp.end());
            map<string,int>::iterator iter=mp.find(temp);
            if(iter==mp.end())
            {
                mp[temp]=1;
            }
            else
                mp[temp]++;
        }
        for(int i=0;i<str.size();i++)
        {
            string temp=str[i];
            sort(temp.begin(),temp.end());
            if(mp.find(temp)!=mp.end()&&mp[temp]>1)
            {
                    a+=str[i];
                    a.append(1,',');    
            }
        }
        return a;
    }
};


void main()
{
    Solution solution2;
    string str[5]={" eat","a te","li mk","mil k","tae "};
    vector<string>s(str,str+5);
    string result;
    /*for(int i=0;i<5;i++)
        s.push_back(str[i]);*/
    result=solution2.fun(s);
    //for(vector<string>::iterator iter=result.begin();iter!=result.end();iter++)
        //cout<<*iter<<endl;
    cout<<result;

}
阅读更多
个人分类: 程序问题
上一篇Wildcard Matching
下一篇【leetcode】Longest Valid Parentheses
想对作者说点什么? 我来说一句

leetcode solution

2018年06月07日 1.15MB 下载

anagrams java实现

2011年04月27日 41KB 下载

leetcode java解答答案

2015年12月20日 36KB 下载

leetcode java题解

2015年08月10日 54KB 下载

leetcode经典题目全解析

2018年05月27日 1.09MB 下载

LeetCode题库答案(数据库)

2018年04月28日 416KB 下载

没有更多推荐了,返回首页

关闭
关闭