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

String to integer conversion problem

Uploaded by

njbhalala
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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
We take content rights seriously. If you suspect this is your content, claim it here.
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