给你一个只包含数字的字符串,输出这个字符串的整数值

例如String s="123456";

输出 123456

解法:

可以把s转换为array数组,倒序遍历,int a=c-'0';

sum+=sum+a*10;

最后返回sum

问题升级:不让使用字符加减转换int,也不让强转,也不让使用工具类,这道题该怎么解?

大题思路还是一样,不过int a=c&15;

15的二进制是0000 1111   与0~9的任意一个数进行&运算,得到的是这个数本身

此外,如果是a~z或者A~Z的话,可以与31进行&运算,得到字母字符本身。

31的二进制是0011 11111

这样写效率更高,&(有1才是1);

整数字符也就是0~9,一个整数字符&15可以得到他本身的整型;

全部评论

相关推荐

挥毫自在:想白嫖你呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务