DIY: String to Integer (atoi)

Solve the interview question "String to Integer (atoi)" in this lesson.

Problem statement

In this coding exercise, you are given a string. You have to convert this string to a 32-bit signed integer. The string may have a leading whitespace. The first non-whitespace character in the string may or may not be numeric.

  • If it isn’t numeric, it may be a + or - sign, which will determine if the final result is negative or positive, respectively. You can assume that the result will be positive if neither is present.

  • If it is numeric, you will read the next characters until the next non-digit character appears or the end of the string is reached. Then, you will convert these digits into an integer.

  • If the first non-whitespace character in the string is neither numeric nor a + or - sign, then you should convert the string to 0.

Note:

  • Only the space character ' ' is considered a whitespace character.
  • Do not ignore any characters other than the leading whitespace or the rest of the string characters after the digits.
  • A string consists of English letters (lowercase and uppercase), digits (0-9), ' ', '+', '-', and '.'.

Input

The input will be a string. The following are some example inputs to the function:

// Sample Input 1
"123"

// Sample Input 2
"    -123"

// Sample Input 3
"9612 with words"

// Sample Input 4
"words and 345"

// Sample Input 5
"-93283472332"

Output

For the input given above, the output will be:

// Sample Output 1
123

// Sample Output 2
-123

// Sample Output 3
9612

// Sample Output 4
0

// Sample Output 5
-2147483648

Level up your interview prep. Join Educative to access 80+ hands-on prep courses.