public class Solution {
public bool WordPattern(string pattern, string str) {
var i = 0;
var arr = str.Split(‘ ‘).Where(x=>!string.IsNullOrWhiteSpace(x)).ToList();
var dict1 = new Dictionary<char, string>();
var dict2 = new Dictionary<string, char>();
if(pattern.Length != arr.Count){
return false;
}
while(i < pattern.Length)
{
if(!dict1.ContainsKey(pattern[i])){
if(dict2.ContainsKey(arr[i])){
return false;
}
dict1.Add(pattern[i] , arr[i]);
dict2.Add(arr[i], pattern[i]);
}
else{
if(!dict2.ContainsKey(arr[i])){
return false;
}
if(arr[i] != dict1[pattern[i]]){
return false;
}
}
i++;
}
return true;
}
}原文:http://blog.csdn.net/lan_liang/article/details/50144421