0% found this document useful (0 votes)
3 views2 pages

String to Integer Conversion Problem

The document outlines the implementation of a function called stringToInteger that converts a string to a 32-bit signed integer. It details the algorithm steps, including ignoring whitespace, determining the sign, reading the integer while skipping leading zeros, and rounding the result if it exceeds the 32-bit signed integer range. Additionally, it specifies constraints on the input string and provides examples of expected outputs.

Uploaded by

faltu.extra.fake
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)
3 views2 pages

String to Integer Conversion Problem

The document outlines the implementation of a function called stringToInteger that converts a string to a 32-bit signed integer. It details the algorithm steps, including ignoring whitespace, determining the sign, reading the integer while skipping leading zeros, and rounding the result if it exceeds the 32-bit signed integer range. Additionally, it specifies constraints on the input string and provides examples of expected outputs.

Uploaded by

faltu.extra.fake
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/ 2

Problem

Implement the simple stringToInteger(string s) function, which converts a string


to a 32-bit signed integer.
The algorithm for stringT oInteger(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 [-2ˆ31,
2ˆ31- 1], then round the integer to remain in the range. Specifically,
integers less than -231 should be rounded to -2ˆ31, and integers greater
than 2ˆ31- 1 should be rounded to 2ˆ31- 1.
Return the integer as the final result.

The function should not use internal library function like parseInt or
parseFloat.

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

1
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