首页 > 其他 > 详细

实现atoi

时间:2017-08-29 21:32:31      阅读:325      评论:0      收藏:0      [点我收藏+]
1. 去掉首位空格
2. 判断首位是否有正负号
3. 判断各位是否是0~9,有其他字符直接返回当前结果
 
 1 public class Solution {
 2     public int atoi(String str) {
 3         str = str.trim();
 4         int result = 0;
 5         boolean isPos = true;
 6         
 7         for(int i=0; i<str.length(); i++) {
 8             char c = str.charAt(i);
 9             if(i==0 && (c == ‘+‘ || c == ‘-‘)) {
10                 isPos = c == ‘+‘ ? true : false;
11             } else if(c >= ‘0‘ && c <= ‘9‘) {
12                 if(result > (Integer.MAX_VALUE- (c-‘0‘))/10) {
13                     return isPos ? Integer.MAX_VALUE : Integer.MIN_VALUE;
14                 }
15                 result = result * 10 + c - ‘0‘;
16             } else {
17                 return isPos ? result : -result;
18             }
19         }
20         
21         return isPos ? result : -result;
22     }
23 }

 

 
 
 
 

实现atoi

原文:http://www.cnblogs.com/renzongxian/p/7450162.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!