主题:字符易位破译
gig886
[专家分:0] 发布于 2010-09-15 12:44:00
[size=3][i][b]编写一个函数,检查两个单词是否是字母易位词。两个单词如果包含相同的字母,次序不同,则称为字母易位词。例如:“silent”和“listen”是字母易位词。
提示:先对单词进行排序,再进行比较[/b][/i][/size]
我想用数组来做,但是感觉首先就得判断输入的单词的字母数。然后最重要的就是对单词中的字母进行排序了。
回复列表 (共2个回复)
沙发
windy0will [专家分:2300] 发布于 2010-09-15 17:55:00
感觉还是这个论坛亲切!!!
对于楼主的这个题目,如果只要判断是不是所谓的字母易位词的话,并不要先对单词排序,只要单词里面的每种字母的数目一样才有可能是字母易位词,然后排除它们是不是相等就好了.下面给出我的伪代码.
[code=c]
int
fun(const char *s1,const char *s2)
{
int count[128] = { 0 };
int sub = -1;
if ( !s1 || !s2 ) return -1;
for ( --s1; *++s1; ) ++count[ *s1 ];
for ( --s2; *++s2; ) --count[ *s2 ];
for ( sub=-1;++sub<128; )
if ( count[ sub ] ) return 0;//不是字母易位词
return 1;//是
}
[/code]
板凳
淘宝商盟 [专家分:30] 发布于 2010-09-26 13:50:00
寻找中国的最优秀的网商领袖精英
当今世界正经历着全球经济一体化的大潮,中国本土企业也因此面临着前所未有的机遇与挑战。
在这场洗礼中,哪些互联网平台有能力成为世界级的电子商务平台?网商精英要怎样做,才能最终成长为世界级网商精英领袖?
淘宝商盟平台震撼登场,携手淘宝30万商家联盟购物商城。
平台刚刚启动,互联网的网商精英请咨询qq: 908889846
占领市场第一先机,合力打造网商系统!
淘宝商盟官网 www.taobaosm.com
http://blog.sina.com.cn/tbsm8
淘宝商盟奖励制度
我来回复