给定字符串,找到整数的第一个嵌入式出现

给定字符串,找到整数的第一个嵌入式出现,第1张

给定字符串,找到整数的第一个嵌入式出现

解决方案有两个问题。

  1. 考虑一下测试用例-有2个字符“ 8”和“ 7”,它们都构成您应该返回的整数87。(这是主要问题)

  2. 这有点花哨,但是字符“ 0”的整数值不一定小于“ 1”,“ 2”等值。它几乎总是如此,但是我想访问者喜欢看到这种关心。更好的解决方案是

如果(Character.isDigit(c)){…}

有很多不同的方法可以做到这一点。我的第一个想法是:

int i = 0;while (i < string.length() && !Character.isDigit(string.charAt(i))) i++;int j = i;while (j < string.length() && Character.isDigit(string.charAt(j))) j++;return Integer.parseInt(string.substring(i, j)); // might be an off-by-1 here

当然,如评论中所述,在Java中使用正则表达式功能可能是实现此目的的最佳方法。但是,当然,许多面试官会要求您在没有图书馆等情况下做这样的事情。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5587188.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-14
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存