8.字符串转换整数(atoi)

我的解法

先strip去除前后空格,然后依次读入字符,判断一下字符是否合法即可。加一个标记位begin,如果数字部分已经开始读入,那么再出现的'+'和'-'就不合法了。

官方解法

本题题目中没有特别强调只能在32位内处理,所以我直接用python的int()来解决了,其他语言可以像第7题中提到的一样进行异常捕获。官方是用当前数n和最大数INT_MAX/10来比较以判断n*10是否会溢出,应当是和上一题一样考虑了机器只能存储32位的情况。
官方题解是自动机,根据当前状态和输入来转换状态。方法简单,不过状态机的思想值得多考虑。
看了评论区感觉我的代码在精简方面还可以多锤炼。

知识点

自动机

posted @ 2025-02-15 17:05  知白0212  阅读(8)  评论(0)    收藏  举报