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

题目

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值