zoukankan      html  css  js  c++  java
  • [LeetCode 008] String to Integer (atoi)

    String to Integer (atoi)

    Implementation

    public class Solution {
        public int myAtoi(String str) {
            if (str == null || str.length() == 0) {
                return 0;
            }
            int sign = 1;
            int index = 0;
            /* remove the leading white spaces */
            // check index isn't out of bound
            while (index < str.length() && str.charAt(index) == ' ') {
                index++;
            }
            /* set sign of number */
            if (index < str.length() && (str.charAt(index) == '+' ||str.charAt(index) == '-')) {
                sign = str.charAt(index) == '+'? 1: -1;
                index++;
            }
    
    
            int result = 0;
            final int THRESHOLD = Integer.MAX_VALUE / 10; /*  */
            while (index < str.length() && str.charAt(index) >= '0' && str.charAt(index) <='9' ) {
                /*
                    check of result will be overflow
                    1. the last digit of MAX is 7.
                    2. the last digit of MIN is 8.
                */
                if (result > THRESHOLD || (result == THRESHOLD && str.charAt(index) > '7')) {
                    return sign == 1? Integer.MAX_VALUE: Integer.MIN_VALUE;
                }
                else {
                    result = result * 10 + str.charAt(index) - '0';
                    index++;
                }
            }
            return result * sign;
        }
    }
    
  • 相关阅读:
    JavaScript中的this相关
    Git进阶操作_1
    Git基本操作_5
    Git基本操作_4
    Git基本操作_3
    Git基本操作_2
    利用Python发送SMTP邮件
    Python JWT使用
    Python中的Asyncio 异步编程
    Python中的抽象类和接口类
  • 原文地址:https://www.cnblogs.com/Victor-Han/p/5194225.html
Copyright © 2011-2022 走看看