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

day-56 字符串转换整数 (atoi)

在这里插入图片描述
思路
利用trim()函数去掉前后空格,然后判断是否有’+‘或’-'号,如果有则去掉,然后依次向后遍历字符串,直到遇到非数字字符或遍历结束,遍历过程中用一个long型记录当前整数大小

解题过程
最后判断整数大小是否超过整型的边界即可

Code

class Solution {public int myAtoi(String s) {s=s.trim();boolean flag=true;if(s.length()>0&&s.charAt(0)=='-'){flag=false;s=s.substring(1,s.length());}else if(s.length()>0&&s.charAt(0)=='+'){s=s.substring(1,s.length());}long ans=0;int id=0;while(id<s.length()&&0<=s.charAt(id)-'0'&&s.charAt(id)-'0'<=9){ans=ans*10+s.charAt(id)-'0';if(flag&&ans>=Integer.MAX_VALUE)return Integer.MAX_VALUE;if(!flag&&-1*ans<=Integer.MIN_VALUE)return Integer.MIN_VALUE;id++;}if(flag){if(ans>=Integer.MAX_VALUE)return Integer.MAX_VALUE;else{return (int)ans;}}else{ans=-1*ans;if(ans<=Integer.MIN_VALUE)return Integer.MIN_VALUE;else return (int)ans;}}
}作者:菜卷
链接:https://leetcode.cn/problems/string-to-integer-atoi/solutions/2923358/zi-fu-chuan-zhuan-huan-zheng-shu-atoi-by-2ce7/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Matplotlib在运维开发中的应用
  • Vue组件:模板引用ref属性的使用
  • 【python】【绘制小程序】动态爱心绘制
  • 如何利用 Visual Studio 和 AI 工具实现高效编程
  • SQLPlus执行成功但数据没有更新的原因及解决办法
  • CTFHUB 技能树 信息泄露 HG泄露 解密过程记录
  • 【线性回归模型】
  • 分班 - 华为OD统一考试(E卷)
  • 【machine learning-七-线性回归之成本函数】
  • 力扣232:用栈实现队列
  • 列表、数组排序总结:Collections.sort()、list.sort()、list.stream().sorted()、Arrays.sort()
  • mysql性能优化-延迟写和异步写优化
  • Python中使用Redis布隆过滤器
  • miniconda环境配置
  • 深度学习自编码器 - 收缩自编码器(CAE)篇
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • canvas 高仿 Apple Watch 表盘
  • java8-模拟hadoop
  • php的插入排序,通过双层for循环
  • Redis字符串类型内部编码剖析
  • 测试如何在敏捷团队中工作?
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 看域名解析域名安全对SEO的影响
  • 那些被忽略的 JavaScript 数组方法细节
  • 前端技术周刊 2019-02-11 Serverless
  • 如何进阶一名有竞争力的程序员?
  • 问题之ssh中Host key verification failed的解决
  • 我感觉这是史上最牛的防sql注入方法类
  • 运行时添加log4j2的appender
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 正则表达式-基础知识Review
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • # SpringBoot 如何让指定的Bean先加载
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (1)常见O(n^2)排序算法解析
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (el-Date-Picker)操作(不使用 ts):Element-plus 中 DatePicker 组件的使用及输出想要日期格式需求的解决过程
  • (二)WCF的Binding模型
  • (回溯) LeetCode 40. 组合总和II
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (三)docker:Dockerfile构建容器运行jar包
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (一)认识微服务
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析
  • @RequestParam,@RequestBody和@PathVariable 区别
  • @WebServiceClient注解,wsdlLocation 可配置
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [2015][note]基于薄向列液晶层的可调谐THz fishnet超材料快速开关——
  • [Apio2012]dispatching 左偏树