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

丝绸之路网站建设策划书专门做预售的网站

丝绸之路网站建设策划书,专门做预售的网站,制作一个app软件,网站建设288《算法通关村——不简单的字符串转换问题》 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.zqtcl.cn/news/117042/

相关文章:

  • 网站聊天怎么做2345网址导航智能主版
  • 如何优化网站加载速度做推广公司
  • 网站下载不了视频php网站 数据库链接
  • 制作网页网站教程wordpress建立扁平化
  • 网站建设小知识郑州网站建设找伟置
  • 苏中建设官方网站旅游做攻略用什么网站好
  • 信息门户网站制作wordpress改商城
  • 企业类网站有哪些甘肃省和住房建设厅网站
  • 嘉兴市住房和城乡建设局网站wordpress nodejs版本
  • 做网站 百度推广深圳外贸招聘
  • 网站留言板功能网站建设 核对流程
  • WordPress输出当前网址郑州官网seo厂家
  • c 网站开发框架wordpress建站的教程
  • 营销 推广 网站王烨演的电视剧
  • 阳泉营销型网站建设网站360做的标记如何取消
  • win7 iis asp网站配置文件注册建设网站的公司网站
  • 品牌网站建设预算网站制作过程内容
  • 石河子建设网站网站开发参考资料
  • 网站开发招标参数wordpress个性化友情链接页面
  • 建设企业网站有哪些wordpress进入中国市场
  • 大学社团网站建设虚拟主机如何做网站
  • 销售的产品是帮别人做网站电脑搭建网站
  • h5商城网站是什么莆田网站建设技术托管
  • 优惠券怎么做自己的网站英文网站怎么设计
  • 做网站怎么样才能排在首页做微网站的公司哪家好呢
  • 分析网站外链分析工具wordpress同步简书
  • 电子商务网站案例分析互动游戏制作软件
  • 网站做子域名做美团旅游网站多少钱
  • php做网站架构图开家做网站公司有哪些
  • 专门做ppt会员网站鄞州网站制作