Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

字符串转换整数 #3

Open
bWhirring opened this issue Dec 21, 2019 · 1 comment
Open

字符串转换整数 #3

bWhirring opened this issue Dec 21, 2019 · 1 comment
Labels

Comments

@bWhirring
Copy link
Owner

请你来实现一个 atoi 函数,使其能将字符串转换成整数。

说明:

假设我们的环境只能存储 32 位大小的有符号整数,那么其数值范围为 [−231,  231 − 1]。如果数值超过这个范围,请返回  INT_MAX (231 − 1) 或 INT_MIN (−231) 。

示例 1:

输入: "42"
输出: 42
示例 2:

输入: "   -42"
输出: -42
解释: 第一个非空白字符为 '-', 它是一个负号。
     我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到 -42 。
示例 3:

输入: "4193 with words"
输出: 4193
解释: 转换截止于数字 '3' ,因为它的下一个字符不为数字。
示例 4:

输入: "words and 987"
输出: 0
解释: 第一个非空字符是 'w', 但它不是数字或正、负号。
     因此无法执行有效的转换。
示例 5:

输入: "-91283472332"
输出: -2147483648
解释: 数字 "-91283472332" 超过 32 位有符号整数范围。 
     因此返回 INT_MIN (−231) 。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/string-to-integer-atoi
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
@bWhirring
Copy link
Owner Author

/**
 * @param {string} str
 * @return {number}
 */
var myAtoi = function(str) {
  let a = parseInt(str)
  if (Number.isNaN(a)) {
    return 0
  } else if (a >= 2 ** 31 - 1) {
    return 2 ** 31 - 1
  } else if (-(2 ** 31) >= a) {
    return -(2 ** 31)
  }
  return a
};

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant