8. String to Integer (atoi)

String to Integer (atoi) (LeetCode 8) is a Medium Data Structures and Algorithms interview problem you can solve, run and submit on Thita.ai. It belongs to the String Manipulation Patterns pattern, in the Integer and Roman Conversion subpattern.

How to solve String to Integer (atoi)

String to Integer (atoi) is a Integer to Roman Numeral Conversion problem, part of String Manipulation Patterns. Learn to convert between integers and Roman numerals. Essential string manipulation problem.

Work towards the solution in these steps:

  1. Start by considering how to process the input string sequentially and handle character-by-character parsing.
  2. Think about how to efficiently skip leading whitespace and detect an optional sign before number extraction.
  3. Plan how to extract contiguous digit characters and convert them into an integer value while ignoring leading zeros.

The reference solution runs in O(n) time and O(1) space.

The String to Integer (atoi) solution and editorial walks through the full approach with reference code.

Problem statement

Implement the myAtoi(string s) function, which converts a string to a 32-bit signed integer.

The algorithm for myAtoi(string s) is as follows:

- Whitespace: Ignore any leading whitespace (" ").

- Signedness: Determine the sign by checking if the next character is '-' or '+', assuming positivity if neither present.

- Conversion: Read the integer by skipping leading zeros until a non-digit character is encountered or the end of the string is reached. If no digits were read, then the result is 0.

- Rounding: If the integer is out of the 32-bit signed integer range [-231, 231 - 1], then round the integer to remain in the range. Specifically, integers less than -231 should be rounded to -231, and integers greater than 231 - 1 should be rounded to 231 - 1.

Return the integer as the final result.

Example 1:

Input: s = "42"

Output: 42

Explanation:

The underlined characters are what is read in and the caret is the current reader position. Step 1: "42" (no characters read because there is no leading whitespace) ^ Step 2: "42" (no characters read because there is neither a '-' nor '+') ^ Step 3: "42" ("42" is read in) ^

Example 2:

Input: s = " -042"

Output: -42

Explanation:

Step 1: " -042" (leading whitespace is read and ignored) ^ Step 2: " -042" ('-' is read, so the result should be negative) ^ Step 3: " -042" ("042" is read in, leading zeros ignored in the result) ^

Example 3:

Input: s = "1337c0d3"

Output: 1337

Explanation:

Step 1: "1337c0d3" (no characters read because there is no leading whitespace) ^ Step 2: "1337c0d3" (no characters read because there is neither a '-' nor '+') ^ Step 3: "1337c0d3" ("1337" is read in; reading stops because the next character is a non-digit) ^

Example 4:

Input: s = "0-1"

Topics and companies

Topics: String.

Reported in interviews at Facebook, Amazon, Microsoft, Google, Goldman Sachs, Apple, Adobe, Bloomberg, Intel.

How to practise String to Integer (atoi) on Thita.ai

Starter code is provided in C, C#, C++, Go, Java, JavaScript and Python. Your solution runs against 5 test cases for this problem, with the AI coach available for a hint when you are stuck rather than a finished answer. The reference solution runs in O(n) time and O(1) space.

Open String to Integer (atoi) in the code editor, or read the String to Integer (atoi) editorial for a worked solution with its approach and complexity analysis.

Where String to Integer (atoi) sits in the DSA pattern sheet

Problems related to String to Integer (atoi)

Other problems that use the same Integer and Roman Conversion and String Manipulation Patterns techniques:

String to Integer (atoi) FAQ

What is the LeetCode number of String to Integer (atoi)?

String to Integer (atoi) is LeetCode problem 8, rated Medium.

What pattern is used to solve String to Integer (atoi)?

String to Integer (atoi) is a Integer to Roman Numeral Conversion problem. It belongs to the String Manipulation Patterns pattern, in the Integer and Roman Conversion subpattern.

What is the time complexity of String to Integer (atoi)?

The reference solution runs in O(n) time and O(1) space.

Which companies ask String to Integer (atoi)?

String to Integer (atoi) has been reported in interviews at Facebook, Amazon, Microsoft, Google, Goldman Sachs, Apple, Adobe, Bloomberg, Intel.

Preparing this workspace.