【数据结构】python——变位词判断

本文介绍了四种判断变位词的方法:暴力法、逐字检查法、排序比较和计数比较法,详细分析了它们的时间复杂度和优缺点。特别推荐了一门由北大老师讲授的数据结构课程,可从链接获取更多学习资源。
摘要由CSDN通过智能技术生成

 变位词就是两个词中组成字母或汉字相同,但排列不同

 判断两个词是否为变位词的方法有四种:

一、暴力法

 算法思路:将词1中出现的字符进行全排列,再查看全排列结果中是否报刊词2
 缺点:全排列结果过多

二、逐字检查法

 算法思想:将词1中的字符逐个到词2中检查是否存在,存在就“打勾”(将对应字符设置为None),若词1中每个字符都能在词2中找到,则两个词是变位词,只要有一个找不到,则不是

def anagramsolution1(s1,s2):
    alist=list(s2)#复制s2到列表
    pos1=0
    stillok=True
    while pos1<len(s1)and stillok:#循环s1的每个字符
        pos2=0
        found=False
        while pos2<len(alist)and not found:#循环S2的每个字符
            if s1[pos1]==alist[pos2]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值