【发布时间】:2020-09-26 21:59:44
【问题描述】:
我一直坚持使用相同的方法将这个 JS 字谜问题转换为 Python 解决方案。 问题来了:
这里是 JavaScript 解决方案:
if (first.length !== second.length) {
return false;
}
const lookup = {};
for (let i = 0; i < first.length; i++) {
let letter = first[i];
// if letter exists, increment, otherwise set to 1
lookup[letter] ? (lookup[letter] += 1) : (lookup[letter] = 1);
}
for (let i = 0; i < second.length; i++) {
let letter = second[i];
// can't find letter or letter is zero then it's not an anagram
if (!lookup[letter]) {
return false;
} else {
lookup[letter] -= 1;
}
}
return true;
}
console.log(validAnagram('anagram', 'nagaram'));
这是我使用相同方法的 Python 代码:
if len(first) != len(second):
return False
lookup = {}
for char in first:
letter = first[char]
if lookup[letter]:
lookup[letter] += 1
else:
lookup[letter] = 1
for char in second:
letter = second[char]
if not lookup[letter]:
return False
else:
lookup[letter] -= 1
return True
print(valid_anagram("anagram", "nagaram"))
这是我在运行 Python 解决方案时遇到的错误:
letter = first[char] TypeError: string indices must be integers
【问题讨论】:
标签: python string hashmap anagram