LeetCode习题总结-算法(19)

2021-09-21 17:13

阅读:726

标签:max   turn   ==   空字符串   情况   函数   位置   strip   class   第十九天LeetCode刷题-算法 第十九天习题——字符串转换整数的函数 此题仅为个人总结参考,如有错误还请指出 首先先上原题: 来源:力扣(LeetCode)原题链接:https://leetcode-cn.com/problems/string-to-integer-atoi/拿到这道题,会发现本题所提出的背景不会较难读懂。即通过给定一个字符串(可能是纯数字/纯字母/数字和字母的组合),通过判定对应的字符串是否为纯数字组成,如果是则将其转换成一个对应的数值;如果不是,则返回值0即可。虽背景简单,但是本题所涉及要考虑的特殊情况会偏多,如是否开头第一个非空字符为字符,如果是就需要直接结束判断为0等等。像这样对字符串进行形式转换的问题,我们一般最容易想到的便是遍历的思想去完成这个工作。通过遍历每个字符,判断其是否为纯数字来判定是否需要进行类型转化的行为。当然,在进行判断之间,我们可以利用python中的一些小技巧来对字符串进行一定的预处理操作,如使用了lstrip()方法去除第一个非空字符前的所有空字符。所以基于上述思想我们给出基于此题的第一种方法,利用暴力搜索配合强制转换的方法来实现对字符串的转化。 方法1——暴力破解法(基于遍历和强制转换的字符串转化过程) class Solution: def myAtoi(self, str: str) -> int: # 特处 # 去除第一个非空字符前的所有空字符 str_ = str.lstrip() if len(str_) == 0: return 0 # 对数值的正负号进行处理,确定检索的起始位置 i = 1 if str_[0] == ‘+‘ or str_[0] == ‘-‘ else 0 result = 0 # 遍历开始 while i


评论


亲,登录后才可以留言!