[LeetCode]Valid Anagram

题目描述:

Given two strings s and t, write a function to determine if t is an anagram of s.

For example,
s = "anagram", t = "nagaram", return true.
s = "rat", t = "car", return false.

Note:

You may assume the string contains only lowercase alphabets.

题目大意:

给定字符串s和t,编写函数判断t是否为s的anagram(字谜游戏,由颠倒字母顺序而构成的字[短语])。

测试用例见题目描述。

注意:

你可以假设字符串只包含小写字母。

解题思路:

排序或者使用哈希表做字符统计均可。

Python代码(排序):

class Solution:
    # @param {string} s
    # @param {string} t
    # @return {boolean}
    def isAnagram(self, s, t):
        return sorted(s) == sorted(t)

下面的代码使用了Python内置的Counter工具类(collections.Counter)。

关于Counter的用法介绍详见:https://docs.python.org/2/library/collections.html#collections.Counter

Python代码(字符统计):

class Solution:
    # @param {string} s
    # @param {string} t
    # @return {boolean}
    def isAnagram(self, s, t):
        from collections import Counter
        return Counter(s).items() == Counter(t).items()

 

本文链接:http://bookshadow.com/weblog/2015/08/01/leetcode-valid-anagram/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。

如果您喜欢这篇博文,欢迎您捐赠书影博客: ,查看支付宝二维码

Pingbacks已关闭。

暂无评论

张贴您的评论