看网上有一个面试题是怎么判断字符串里的单词是英文单词,注意必须是单词,像wawd样的就不是单词?
有人回了一个帖,看得很迷糊,他是这么写的:
先提取字符串
然后把字典里的单词排列成一般字典,定义26个字母的结构体,比如word以w开头,那么定义w结构体,在字典里找到w的地址,然后在w结构体里面定义26个字母的结构体,查第二个字母的o的结构体地址,依次找到r的地址,在r结构体中寻找d结构体的地址,找到以后如果在d结构体里面的标志值flag是1,那么表示存在word这么一个单词,如果要找worldl,那么就不用判断找到word时的标志,而直接寻找l结构体在判断,26个字母结构体由一个标志符和26个字母结构体的实例组成,编写字典时可以把不存在的省略,并且再在结构体中添加存在的字母列表,如果不存在,就不编写地址,也不需要再到地址下寻找,比如worldl,查找到word后会先在字母列表中查找是否存在L的地址,如果不存在,则直接返回0,表示该单词不存在,这个有点像windows注册表
也有人说用字典库,不明白什么是字典库,谁能说一下用C#怎么实现? |