【LeetCode】C# 8、String to Integer (atoi)
2017-10-08 08:13
399 查看
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.
解题思路在于滤去不合法输入后,通过 val = val * 10 + str[i] - ‘0’ 一位一位的将之转化为 int。
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.
解题思路在于滤去不合法输入后,通过 val = val * 10 + str[i] - ‘0’ 一位一位的将之转化为 int。
public class Solution { public int MyAtoi(string str) { int i = 0; int sign = 0; int val = 0; while (i < str.Length && ((str[i] >= '0' && str[i] <= '9') || str[i] == ' ' || str[i] == '-' || str[i] == '+')) { if ((val == 0 && sign == 0) && str[i] == ' ') i++; else if (str[i] == '-' && sign == 0) { sign = -1; i++; } else if (str[i] == '+' && sign == 0) { sign = 1; i++; } else if (str[i] >= '0' && str[i] <= '9') { //handle overflow, val * 10 + n > int.MaxValue if (val > (int.MaxValue - (str[i] - '0')) / 10) { if (sign == 0 || sign == 1) return int.MaxValue; return int.MinValue; } val = val * 10 + str[i] - '0'; i++; } else { if (sign == 0) return val; return val * sign; } } if (sign == 0) return val; return val * sign; } }
相关文章推荐
- [LeetCode] String to Integer (atoi)
- [Leetcode] String to Integer (atoi)
- [leetcode]经典算法题- String to Integer (atoi)
- [leetcode] 8. String to Integer (atoi)
- LeetCode 08 String to Integer (atoi)
- Leetcode String to Integer (atoi)
- LeetCode-8. String to Integer (atoi)
- LeetCode 8: String to Integer (atoi) (python)
- LEETCODE 8 String to Integer (atoi) (JAVA题解)
- Leetcode String to Integer (atoi)
- [Leetcode] 8. String to Integer (atoi)
- Leetcode: String to Integer (atoi)
- 【LeetCode】8. String to Integer (atoi)
- 面试题49:String to Integer (atoi)(Leetcode-8)
- LeetCode题解 #8 String to Integer (atoi)
- [LeetCode] String to Integer (atoi)
- 【leetcode】String to Integer (atoi)
- 【Leetcode】【python】String to Integer (atoi)
- leetcode: String to Integer (atoi)
- leetcode: String to Integer (atoi)