242.有効なアルファベット易位語(Python)

1035 ワード

タイトル
難易度:★☆☆☆タイプ:文字列
2つの文字列sとtを与え、tがsのアルファベット異位語であるか否かを判断する関数を記述する.
説明:文字列に小文字のみが含まれていると仮定できます.

例1:入力:s=「anagram」、t=「nagaram」出力:true
例2:入力:s=「rat」、t=「car」出力:false進級:入力文字列にunicode文字が含まれている場合どうしますか?あなたの解法を調整してこのような状況に対応することができますか?
に答える
シナリオ1:統計ワード周波数
互いにアルファベット易位語の一対の文字列であり、それらの各文字とその対応する出現回数は同じであるため、2つの単語が出現した文字とその出現回数を統計し、2つの単語がアルファベット易位語であるかどうかを判断することができる.ここではPythonのCounterモジュールを用いて簡単な統計を行います.
from collections import Counter


class Solution(object):
    def isAnagram(self, s, t):
        """
        :type s: str
        :type t: str
        :rtype: bool
        """
        return Counter(s) == Counter(t)

シナリオ2:使用リスト
シナリオ1と同じですが、ここでは文字列を文字配列に変換し、ソートして判断します.
class Solution(object):
    def isAnagram(self, s, t):
        """
        :type s: str
        :type t: str
        :rtype: bool
        """
        return sorted(list(s)) == sorted(list(t))

質問やアドバイスがあれば、コメントエリアへようこそ~