LintCode 158. 两个字符串是变位词

Posted zslhg903

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LintCode 158. 两个字符串是变位词相关的知识,希望对你有一定的参考价值。

写出一个函数 anagram(s, t) 判断两个字符串是否可以通过改变字母的顺序变成一样的字符串。

 

说明

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.

挑战 

O(n) time, O(1) extra space

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
        int sSz=s.size();
        int tSz=t.size();
        if(sSz!=tSz) return false;
        sort(s.begin(),s.end());
        sort(t.begin(),t.end());
        
        return s==t;
    }
};

 

以上是关于LintCode 158. 两个字符串是变位词的主要内容,如果未能解决你的问题,请参考以下文章

lintcode入门篇五

005推断两个字符串是否是变位词 (keep it up)

两个字符串是变位词(简单)

Java每日一题——>剑指 Offer II 032. 有效的变位词

Java每日一题——>剑指 Offer II 032. 有效的变位词

Java每日一题——>剑指 Offer II 032. 有效的变位词