最近我在一次采访中被问到这个问题:
“如何在不使用任何库函数且不考虑语言的情况下将‘12345’形式的字符串解析为其整数表示形式 12345?”
我想到了两个答案,但面试官说还有第三个。这是我的两个解决方案:
解决方案 1:保留一本映射 '1' => 1、'2' => 2 等的字典。然后一次解析字符串一个字符,在字典中查找该字符,然后乘以位置值。对结果求和。
解决方案 2:每次解析字符串一个字符,并从每个字符中减去“0”。这将为您提供“1”-“0”= 0x1、“2”-“0”= 0x2 等。再次乘以位值并对结果求和。
谁能想到第三种解决方案可能是什么?
Thanks.
我想这就是面试官想要的:
number = "12345"
value = 0
for digit in number: //Read most significant digit first
value = value * 10 + valueOf(digit)
此方法使用的操作比您概述的方法少得多。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)