0% found this document useful (0 votes)
1 views

String to integer conversion problem

Uploaded by

njbhalala
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views

String to integer conversion problem

Uploaded by

njbhalala
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

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

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

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


2. Signedness: Determine the sign by checking if the next character is '-' or '+', assuming
positivity is neither present.
3. 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 throw an
exception.
4. 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.

Constraints:

● 0 <= s.length <= 200


● s consists of English letters (lower-case and upper-case), digits (0-9), ' ', '+', '-', and '.'.

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)
^

You might also like