所谓 anagram, 就是两个词所用的字母及其个数都是一样的,但是,字母的位置不一样。比如 abcc 和 cbca 就是 anagram.判断的方法比较简单,先把单个字母(字符)转成整数,然后利用了hashtable+计数器的原理进行判断。
public static boolean anagrams(String a, String b) {
if (a.length() != b.length()) return false;
int letters[] = new int[256];
//initialization
for (int i = 0; i < letters.length; i++) {
letters[i] = 0;
}
//process the string a
for (char c : a.toCharArray()) {
++letters[c];
}
//if the char appears in string b, decrease the corresponding number of counts.
for (char c : b.toCharArray()) {
if (letters[c] == 0) {
return false;
}
--letters[c];
}
//if string a and b are anagrams, all the values in array letters should be 0
for (int i = 0; i < letters.length; i++) {
if (letters[i] != 0) {
return false;
}
}
return true;
}
ASCII 表:
http://www.asciitable.com/
分享到:
相关推荐
给定两个字符串 s 和 t ,编写一个函数来确定 t 是否是 s 的变位词。 Example 1: Input: s = "anagram", t = "nagaram" Output: true Example 2: Input: s = "rat", t = "car" Output: false 注意:您可以假设字符串...
anagram_checker 一个Python程序,它从用户读取两个字符串,确定它们是否为字谜,并报告结果。
输入两个字符串,验证这两个字符串是否只是顺序颠倒
Anagram.java
字谜检查器检查多个字符串是否为字谜的简单模块。例子 var AnagramChecker = require('anagram-checker');AnagramChecker('silenced', 'licensed', 'Declines'); // true安装使用 npm 安装: npm install anagram-...
界面应提示用户:“输入一个字符串并按Enter”(等待用户输入)“现在输入另一个字符串”(等待输入)如果两个字符串是字母,则显示True,否则返回false,显示错误消息。如果功能无法完成。 然后重新开始。 样本...
如何检查两个字符串是否为 Anagram? 在一个数组中存储了 1-100 个数字,缺少一个数字如何找到? 在一个数组中 1-100 多个数字是重复的,你如何找到它? 给定两个数组,1,2,3,4,5 和 2,3,1,0,5 找出第二个数组中不...
本文的目标是写出一个函数 anagram(s, t) 去判断两个字符串是否是颠倒字母顺序构成的。下面话不多说了,来一起看看详细的介绍吧。 GoLang 实现 func solution(s , t string)bool{ if s == t { return true } ...
字谜查找器 接受一段文本(希望是英语单词),并输出彼此字谜的单词组。 例如,“ apt”,“ tap”和“ pat”是彼此的字谜。 来自 字谜是通过重新排列不同单词或短语的字母而形成的... 两个或两个以上“单词”: apt bu
测试字符串是否为null 7-7. zmore 8-1. 最大公约数 8-2. 使用算术操作符 8-3. 使用&&和||进行混合状态的test 8-4. 数字常量的处理 9-1. $IFS和空白 9-2. 时间输入 9-3. 再来一个时间输入 9-4. Timed read 9-5. 我是...
测试字符串是否为null 7-7. zmore 8-1. 最大公约数 8-2. 使用算术操作符 8-3. 使用&&和||进行混合状态的test 8-4. 数字常量的处理 9-1. $IFS 和空白 9-2. 时间输入 9-3. 再来一个时间输入 9-4. Timed read 9-5. 我...
子字符串查询---字谜- 问题陈述 给定一个字符串 S,回答 Q 个查询。 每个查询都包含一个字符串 qstr。 请输出 S 中包含某个 qstr 字谜的子串数作为子序列。
IOS应用源码——schmidie-anagram-e27733b.rar
this program calculate the anagram of a number among 1000-9999.
iOS游戏应用源代码——schmidie-anagram-e27733b.zip
既然我们知道了变位词的定义,那么接下来就是实现对两个单词是否是变位词进行判断了,以下展示变位词判断的几种解法: 1、逐字检查 将单词1中的所有字符逐个到单词2中检查是否存在对应字符,存在就标记 实现:将词2...
判断两个单词是否为变位词。 (变位词是指在不计顺序的情况下两个单词包含完全相同的字母。例如:silent和listen,garden和ranged)
此方法可用于检查两个字符串是否为变位词。 from collections import Counter def anagram(first, second): return Counter(first) == Counter(second) anagram("abcd3", "3acdb") # True 3. 内存 此代码段可...
字谜 验证值是否为 。安装$ npm install validate.io-anagram 要在... 如果为第一个argument提供了一个非字符串,该函数将抛出一个Error 。 如果为第二个argument提供了非字符串,则该函数返回false 。例子 var isA