OJ lintcode 两个字符串是变位词

写出一个函数 anagram(s, t) 判断两个字符串是否可以通过改变字母的顺序变成一样的字符串。
您在真实的面试中是否遇到过这个题?
Yes
说明
What is Anagram?

  • Two strings are anagram if they can be the same after change the order of characters.
    样例
    给出 s = "abcd",t="dcab",返回 true.
    给出 s = "ab", t = "ab", 返回 true.
    给出 s = "ab", t = "ac", 返回 false.
class Solution {
public:
    /**
     * @param s: The first string
     * @param b: The second string
     * @return true or false
     */
    bool anagram(string s, string t) {
        // write your code here
        multiset<char> mset;
        for(int i=0;i<s.length();i++){
            mset.insert(s[i]);
        };

        for(int i=0;i<t.length();i++){
            auto pos=mset.find(t[i]);  //find  如果查找到的话,返回迭代器,如果查找不到,返回指向end 的迭代器
            if(pos==mset.end()){
                //没有找到
                return false;
            }
            else{
                mset.erase(pos);//
                //mset.erase( cval );  // 不能这样清除一个元素,因为它会清除掉所有的元素
            }
        }
        return true;
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,353评论 0 33
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,768评论 19 139
  • 题目 写出一个函数 anagram(s, t)判断两个字符串是否可以通过改变字母的顺序变成一样的字符串。 样例给出...
    六尺帐篷阅读 5,132评论 1 1
  • 有趣,可能是财富和名利换不来的东西中,仅次于生命珍贵的东西了。 比如红楼梦里的刘姥姥,一介村妇,胸无点墨,满口村言...
    元初阅读 3,203评论 0 1
  • 任意取3个标题,你认为有10万+阅读潜质的标题。 例如: 1、我是一个不能做自己的男人。 2、你那么完美,是禁...
    宋荣润阅读 2,615评论 0 1