刷题1-排序1

学python有一段时间了,刷题试试。

题:

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。

1.s="anagram" t="nagaram" 输出true

2.s="rat" t="car" 输出false

输出true需要满足的条件:

1.字符串的个数相等

2.元素一样

故而我的想法是:

1.判断字符串长度是否相等

2排序

3.做比较

代码如下:

class Solution:

def isAnagram(self,s:str,t:str)->bool:

if len(s) != len(t):

return False

if sorted(s)==sorted(t):

return True

else:

return False

if __name__ == '__main__':

q=Solution()

rt=q.isAnagram('anagran','nagaram')

print(rt)

后发现sorted的比较已经有了长度的比较;简化为:

class Solution:

def isAnagram(self,s:str,t:str)->bool:

if sorted(s)==sorted(t):

return True

else:

return False

if __name__ == '__main__':

q=Solution()

rt=q.isAnagram('anagran','nagaram')

print(rt)

这是我思路,但是我发现我的代码运行时长比较长。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值