Strings - Implement Atoi Function

Strings - Implement Atoi Function

Implement Atoi Function

https://www.codingninjas.com/studio/problems/implement-atoi-function_981270?utm_source=striver&utm_medium=website&utm_campaign=a_zcoursetuf&leftPanelTabValue=PROBLEM

Code:

#include<bits/stdc++.h>
int createAtoi(string s) {
    // Write your code here.
    int n = s.size();

    bool isSign = false;
    char sign = '+';

    int num = 0;
    int cnt = 0;

    for(int i=0;i<n;i++){
        if(num>0 && (s[i]<48 || s[i]>57)){
            if(sign=='-'){
                return -1*num;
            }
            return num;
        }

        if(isSign && (s[i]<48 || s[i]>57) ){
            return 0;
        }

        if(s[i]=='-' || s[i]=='+'){
            isSign = true;
            sign = s[i];
            continue;
        }

        if(s[i]>=48 || s[i]<=57){
            int val = s[i]-48;

            if( sign== '-' && -num<=INT_MIN/10){
                return INT_MIN;
            }
            else if(sign == '+' && num>= INT_MAX/10){
                return INT_MAX;

            }
            num = (num*10+val);
        }
    }

    if(sign=='-'){
        return -1*num;
    }
    return num;
}