当前位置: 首页 > news >正文

免费网站封装apphtml网站建设中

免费网站封装app,html网站建设中,云图书馆平台网站建设,网络营销软件价格《算法通关村——不简单的字符串转换问题》 8. 字符串转换整数 (atoi) 请你来实现一个 myAtoi(string s) 函数#xff0c;使其能将字符串转换成一个 32 位有符号整数#xff08;类似 C/C 中的 atoi 函数#xff09;。 函数 myAtoi(string s) 的算法如下#xff1a; 读入…《算法通关村——不简单的字符串转换问题》 8. 字符串转换整数 (atoi) 请你来实现一个 myAtoi(string s) 函数使其能将字符串转换成一个 32 位有符号整数类似 C/C 中的 atoi 函数。 函数 myAtoi(string s) 的算法如下 读入字符串并丢弃无用的前导空格检查下一个字符假设还未到字符末尾为正还是负号读取该字符如果有。 确定最终结果是负数还是正数。 如果两者都不存在则假定结果为正。读入下一个字符直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的这些数字转换为整数即“123” - 123 “0032” - 32。如果没有读入数字则整数为 0 。必要时更改符号从步骤 2 开始。如果整数数超过 32 位有符号整数范围 [−231, 231 − 1] 需要截断这个整数使其保持在这个范围内。具体来说小于 −231 的整数应该被固定为 −231 大于 231 − 1 的整数应该被固定为 231 − 1 。返回整数作为最终结果。 注意 本题中的空白字符只包括空格字符 。除前导空格或数字后的其余字符串外请勿忽略 任何其他字符。 示例 1 输入s 42 输出42 解释加粗的字符串为已经读入的字符插入符号是当前读取的字符。 第 1 步42当前没有读入字符因为没有前导空格^ 第 2 步42当前没有读入字符因为这里不存在 - 或者 ^ 第 3 步42读入 42^ 解析得到整数 42 。 由于 42 在范围 [-231, 231 - 1] 内最终结果为 42 。示例 2 输入s -42 输出-42 解释 第 1 步 -42读入前导空格但忽视掉^ 第 2 步 -42读入 - 字符所以结果应该是负数^ 第 3 步 -42读入 42^ 解析得到整数 -42 。 由于 -42 在范围 [-231, 231 - 1] 内最终结果为 -42 。示例 3 输入s 4193 with words 输出4193 解释 第 1 步4193 with words当前没有读入字符因为没有前导空格^ 第 2 步4193 with words当前没有读入字符因为这里不存在 - 或者 ^ 第 3 步4193 with words读入 4193由于下一个字符不是一个数字所以读入停止^ 解析得到整数 4193 。 由于 4193 在范围 [-231, 231 - 1] 内最终结果为 4193 。提示 0 s.length 200s 由英文字母大写和小写、数字0-9、 、、- 和 . 组成 题解 public static int myAtoi(String str) {int len str.length();char[] charArray str.toCharArray();// 1、去除前导空格int index 0;while (index len charArray[index] ) {index;}// 2、如果已经遍历完成针对极端用例 if (index len) {return 0;}// 3、如果出现符号字符仅第 1 个有效并记录正负int sign 1;char firstChar charArray[index];if (firstChar ) {index;} else if (firstChar -) {index;sign -1;}// 4、将后续出现的数字字符进行转换// 不能使用 long 类型这是题目说的int res 0;while (index len) {char currChar charArray[index];// 4.1 先判断不合法的情况if (currChar 9 || currChar 0) {break;}// 题目中说只能存储 32 位大小的有符号整数下面两个if分别处理整数和负数的情况。// 提前判断乘以10以后是否越界,但res*10可能会越界所以这里使用Integer.MAX_VALUE/10这样一定不会越界。// 这是解决溢出问题的经典处理方式if (res Integer.MAX_VALUE / 10 || (res Integer.MAX_VALUE / 10 (currChar - 0) Integer.MAX_VALUE % 10)) {return Integer.MAX_VALUE;}if (res Integer.MIN_VALUE / 10 || (res Integer.MIN_VALUE / 10 (currChar - 0) -(Integer.MIN_VALUE % 10))) {return Integer.MIN_VALUE;}// 合法的情况下才考虑转换每一步都把符号位乘进去// 想想这里为什么要带着sign乘res res * 10 sign * (currChar - 0);index;}return res;}点击链接我正在「编程导航」和朋友们讨论有趣的话题你⼀起来吧 也可以加我QQ2837468248咨询说明来意
http://www.hkea.cn/news/14293616/

相关文章:

  • 南京溧水城市建设集团网站wordpress更改固定链接后无法登陆
  • 做网站需要多大的显存石家庄网站托管
  • 建设网站的主要流程有哪些内容互联网行业都有哪些专业
  • 青海做高端网站建设的公司WordPress导航条之间得跳转
  • 南昌网站建设 南昌做网站公司图文广告设计公司
  • 注册 网站开发 公司深圳 网站建设设计
  • wordpress网站和微信公众号广东省网站设计与开发
  • 您有新信息 建设招标网官方网站临汾推广型网站开发
  • 途牛网站开发需求360渠道推广系统
  • 最好的网站设计重庆网站建设 夹夹虫
  • 网站出租建设做同业业务一般关注哪些网站
  • 做一个app成本济南网站优化收费标准
  • 佛山网站设计培训深圳品牌型网站建设
  • 网站建设图片怎么调网站开发计划书网站技术解决方案
  • 网站开发的背景是指什么软件沈阳小程序开发报价
  • 卖域名的网站要怎么做兼容性视图中显示所有网站
  • 受欢迎的建网站哪家好怎么从网上找客户
  • 网站建设与管理专业工资高吗tcn短网址在线生成
  • 有没关于做动画设计师的网站网站欣赏公司网站案例
  • 网站对于企业的好处网站建设 公司新闻
  • 大庆做网站比较好的公司嘉兴网站seo公司
  • 广州网站百度排名推广龙华网站建设招商
  • 想招聘员工去哪个网站免费做微信链接的网站
  • 找网站建设的企业国内做服装的网站有哪些方面
  • 女人和男人做床上爱网站怎么选择邯郸做网站
  • 北京建站模板企业有哪些网站可以免费看
  • 织梦做的网站如何上线wordpress禁止访问txt
  • 企业活动网站创意案例视觉设计师面试问题
  • 网站管理登录全媒体广告策划与营销
  • 电商网站设计规范建筑安全类网站