383.赎金信

61 阅读1分钟

题目:
给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。

如果可以,返回 true ;否则返回 false 。

magazine 中的每个字符只能在 ransomNote 中使用一次。
算法:

func canConstruct(ransomNote string, magazine string) bool {
	flag := make([]int, 26)
	for i := range magazine {
		flag[int(magazine[i] - 'a')] ++
	}
	for i := range ransomNote {
		if flag[int(ransomNote[i] - 'a')] <= 0 {
			return false
		}
		flag[int(ransomNote[i] - 'a')] --
	}
	return true
}