Implement atoi to convert a string to an integer.
Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases.
Notes: It is intended for this problem to be specified vaguely (ie, no given input specs). You are responsible to gather all the input requirements up front.
Update (2015-02-10):
The signature of the C++
function had been updated. If you still see your function signature accepts a const char *
argument, please click the reload button to reset your code definition.
spoilers alert... click to show requirements for atoi.
Subscribe to see which companies asked this question
Tags:
Math. String
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/**
* @param {string} str
* @return {number}
*/
var myAtoi = function (str) {
if (Number.isInteger(parseInt(str))) {
if (parseInt(str) > Math.pow(2, 31) - 1) {
return Math.pow(2, 31) - 1;
} else if (parseInt(str) < Math.pow(2, 31) * (-1)) {
return Math.pow(2, 31) * (-1)
} else {
return parseInt(str);
}
} else {
return 0;
}
};
// Integer Range 32 bits
// -Math.pow(2,31) ~ Math.pow(2,31)-1