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

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

全部评论

相关推荐

北斗导航Compass低仿版:没必要写这么多东西,还是尽量浓缩成一页,自我评价,git和cursor Trae这些都可以去掉。实习经历的描述最好根据star法则改一下,别这么直白
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务