我是靠谱客的博主 帅气樱桃,最近开发中收集的这篇文章主要介绍leecode---08---基本数据类型转换---str到整形,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

https://leetcode.com/problems/string-to-integer-atoi/
 
 
题意
把一个字符串转化成整数
 
 
分析
https://www.cnblogs.com/springfor/p/3896499.html
主要就是边界条件的判断问题
1.先把空格去掉,str = str.trim();
2.第一个字符可能是符号或者不是符号。对第一个字符进行特殊判断。
3.用一个临时的double存数字,遍历str的每一个字符从左往右。
4.最后进行符号的判定
5.越界判定
 
代码
class Solution {
    public int myAtoi(String str) {
        if (str == null || str.length() == 0) return 0;
        
        double result = 0;//用来保存最终结果
        char flag = '+';//用来保存正负号
        int index = 0;//使用index指向下标来进行移动
        
        str = str.trim();//去除掉空格和首位的正负号
        if (str.charAt(0) == '-') {
            flag = '-';
            index++;
        } else if (str.charAt(0) == '+') {
            index++;
        }
        
        //然后开始从第二个数字进行判断了,如果出现非字符直接中断
        for (; index < str.length(); index++) {
            char c = str.charAt(index);
            if (c >= '0' || c <= '9') {//正常数字从前往后插入
                result = result * 10 + (c - '0');
                index++;
            } else {
                return 0;
            }
        }
        
        //最后因为结果存在了result里面,需要进行正负号的判断和越界的判断
        if (flag = '-') result = -result;
        if (result > INTEGER.MAX_VALUE) return INTEGER.MAX_VALUE;
        if (result < INTEGER.MIN_VALUE) return INTEGER.MIN_VALUE;
        return result;
    }
}
 
 

转载于:https://www.cnblogs.com/buptyuhanwen/p/8906008.html

最后

以上就是帅气樱桃为你收集整理的leecode---08---基本数据类型转换---str到整形的全部内容,希望文章能够帮你解决leecode---08---基本数据类型转换---str到整形所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部