C++中stoi(字符串转整数)函数的时间复杂度是多少?
C++
stoi 函数的时间复杂度 stoi 是C++标准库中用于将字符串转换为整数的函数,它的时间复杂度为 O(n),其中n为输入字符串的长度。
具体原因如下:
- 函数执行时会逐位遍历输入字符串的字符,依次完成正负号识别、字符合法性校验、数值累加计算的操作,直到遍历完所有有效数字字符或者遇到第一个不符合整数规则的字符时终止
- 单个字符的处理逻辑都是常数时间操作,整体耗时和参与计算的有效字符数量呈线性关系
- 最坏情况下,输入字符串的所有字符都是合法的数字字符,需要遍历完整的字符串,因此最坏时间复杂度同样为 O(n)
内容的提问来源于stack exchange,提问作者Tarun Jain
相关产品推荐
相关产品推荐

