剑指offer|解析和答案(C++/Python) (六)
剑指offer|解析和答案(C++/Python) (六) 参考剑指offer(第二版),这里做一个学习汇总,包括解析及代码。代码均在牛客网进行验证(摘自自己的牛客网笔记)。 习题 两个面试案例 1.把字符串转换成数组 (牛客网上部分题是剑指offer的思考题,不多,下面就是那些剩下的题) 2.变态跳台阶 3.矩形覆盖 1.把字符串转换成数组 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 示例1 输入: +2147483647 1a33 输出: 2147483647 0 思路: 这题本身不难,不够需要注意许多细节。 特殊用例的测试: 1.空指针 2.空字符串"" 3.正负号 4. 溢出 这里着重讲一下正负数溢出。 参考: https://zhidao.baidu.com/question/194668811.html https://zhidao.baidu.com/question/2052829228594311827.html A.负数溢出 这里对应的测数数据为" -2147483649 ",正确的输出为: 0 ,但很有可能造成错误输出: 2147483647 。这因为32位的int数据范围是 -2147483648 ―― 2147483647