242. Valid Anagram(有颠倒顺序构成的字符串---字符串排序(c++和python)

版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/xunalove/article/details/79372416

题目

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

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

题意

判断 t 是否是由 s 颠倒顺序构成的。

题解

对s和t都进行排序,之后判断s==t ?

C++代码


C++中string排序的用法为sort(s.begin(), s.end());

class Solution {
public:
    bool isAnagram(string s, string t) {

        sort(s.begin(), s.end());
        sort(t.begin(), t.end());
        return s==t;

    }
};

python代码


1、python中的字符串类型是不允许直接修改元素的。必须先把要排序的字符串放在容器里,如list。

    2、python中list容器的sort()函数没有返回值。所以在python中对字符串排序需要好几行代码:

    s="string"

    l=list(s)

    l.sort()

    s="".join(l)

    print s   
   'ginrst'

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

        """
        l = list(s)
        l.sort()
        s ="".join(l)

        l = list(t)
        l.sort()
        t ="".join(l)
        return s==t



猜你喜欢

转载自blog.csdn.net/xunalove/article/details/79372416