String to Integer (atoi)bb
ID
8
Data Type
String
Difficulty
Medium
Tags
Math
URL
Completed Date
Apr 24, 2024
Preference
Implement the
myAtoi(string s)
function, which converts a string to a 32-bit signed integer (similar to C/C++'s atoi
function).The algorithm for
myAtoi(string s)
is as follows:- Read in and ignore any leading whitespace.
- Check if the next character (if not already at the end of the string) is
'-'
or'+'
. Read this character in if it is either. This determines if the final result is negative or positive respectively. Assume the result is positive if neither is present.
- Read in next the characters until the next non-digit character or the end of the input is reached. The rest of the string is ignored.
- Convert these digits into an integer (i.e.
"123" -> 123
,"0032" -> 32
). If no digits were read, then the integer is0
. Change the sign as necessary (from step 2).
- If the integer is out of the 32-bit signed integer range
[-231, 231 - 1]
, then clamp the integer so that it remains in the range. Specifically, integers less than231
should be clamped to231
, and integers greater than231 - 1
should be clamped to231 - 1
.
- Return the integer as the final result.
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 after the digits.
Example 1:
Example 2:
Example 3:
Constraints:
0 <= s.length <= 200
s
consists of English letters (lower-case and upper-case), digits (0-9
),' '
,'+'
,'-'
, and'.'
.
主要是边界条件的控制