“变位词”判断问题

Posted yangbocsu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“变位词”判断问题相关的知识,希望对你有一定的参考价值。

“变位词”判断问题

✧问题描述
所谓“变位词”是指两个词之间存在组成字母的重新排列关系.
如: heart和earth ,python和typhon

为了简单起见,假设参与判断的两个词仅由小写字母构成,而且长度相等

✧解题目标 :写一个bool函数,以两个词作为参数,返回这两个词是否变位词。可以很好展示同一问题的不同数量级算法


解法1 : 逐字检查

def anagramSolution1(s1,s2):
	alist = list(s2)
	pos1 = 0
	stillOK = True
	while pos1 < len(s1) and stillOK :
		pos2 = 0
		found = False
		while pos2 < len(alist) and not found :
			if s1[pos1] == alist[pos2]:
				found = True
			else:
				pos2 += 1
		if found:
			alist[pos2] = None
		else:
			stillOK = False
		pos1 += 1
	return stillOK

print(anagramSolution1( 'helo', 'hello') )


以上是关于“变位词”判断问题的主要内容,如果未能解决你的问题,请参考以下文章

Java每日一题——>剑指 Offer II 032. 有效的变位词

Java每日一题——>剑指 Offer II 032. 有效的变位词

Java每日一题——>剑指 Offer II 032. 有效的变位词

编程珠玑第二章问题C

LintCode 158. 两个字符串是变位词

两个字符串是变位词(简单)