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

例如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可以得到他本身的整型;

全部评论

相关推荐

无一技之长怎么办:别去右边,售前,实施,需求分析一起,这是把人当牛马用啊,快跑,这些岗位天花板很低的
点赞 评论 收藏
分享
漂亮的海豚在炒股:把西电加粗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务