Dan*_*all 6 string parsing integer
我最近在接受采访时被问到这个问题:
"如何在不使用任何库函数的情况下将"12345"形式的字符串解析为其整数表示12345,而不管语言是什么?
我想到了两个答案,但面试官说有三分之一.这是我的两个解决方案:
解决方案1:保留一个映射'1'=> 1,'2'=> 2等的字典.然后一次解析一个字符,查找字典中的字符,然后乘以位值.总结结果.
解决方案2:一次解析一个字符串,并从每个字符中减去"0".这将给你'1' - '0'= 0x1,'2' - '0'= 0x2等.再次,乘以位值并对结果求和.
任何人都可以想到第三种解决方案可能是什么?
谢谢.
我希望这是面试官所追求的:
number = "12345"
value = 0
for digit in number: //Read most significant digit first
value = value * 10 + valueOf(digit)
Run Code Online (Sandbox Code Playgroud)
此方法使用的操作远少于您概述的方法.
| 归档时间: |
|
| 查看次数: |
15724 次 |
| 最近记录: |