How to know 2 strings are anagram

 

代码是从一个我觉得很好的网站上拷贝来的,当然我也读了它的全文,其中有几点不太了解。

1. 为啥定义的数组是256个的【因为ascii码是8位的,就是256】

2. s1[i]最后出来的其实是一个字符,但是却又能用作数组的下标。【这个是允许的int['a']其实就是拿a的ascii码出来】

3. 就算数组的下表是允许这样用的,我感觉这样可能会把字母认成一个ascii码,但是其实不是,网上查了一下,好像对应不起来。【可能看错了,其实char能转化成short,short能转化成int,所以下标才能是int】

4. 有一个其他的问题就是如何知道这个int数组的长度,用sizeof好像出来的是1024,也就是256*4,因为每一个int是4个字节的,32位长嘛。【一般要知道长度就是sizeof(bit)/sizeof(bit[0])】

 

另外代码的效率也是有点问题的:

其实不需要第三遍的循环。以下是改进后的算法。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值