public CharacterCountMap Subtract(string word) { var that = new CharacterCountMap(this); foreach (var c in word) { if (!that.ContainsKey(c) || that[c] == 0) { return(null); } that[c]--; } return(that); }
public bool AreEqual(CharacterCountMap that) { if (this.Keys.Count != that.Keys.Count) { return(false); } foreach (var k in this.Keys) { if (!that.ContainsKey(k)) { return(false); } if (this[k] != that[k]) { return(false); } } return(true); }