• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

LeetCodeOnlineJudge题目C#练习-ValidNumber

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Validate if a given string is numeric
Some examples:
"0" => true
" 0.1 " => true
"abc" => false
"1 a" => false
"2e10" => true
Note: It is intended for the problem statement to be ambiguous. You should gather all requirements up front before implementing one.

 1         public static bool ValidNumber(string s)
 2         {
 3             s = s.Trim();
 4             int eindex = s.IndexOf('e');
 5 
 6             if (eindex == -1)
 7                 return isValidNumber(s);
 8 
 9             string s1 = s.Substring(0, eindex);
10             string s2 = s.Substring(eindex + 1);
11             return isValidNumber(s1) && isValidNumber(s2);
12         }
13 
14         public static bool isValidNumber(string s)
15         {
16             int dot = 0;
17             for (int i = 0; i < s.Length; i++)
18             {
19                 // not valid char?
20                 if (s[i] != '+' && s[i] != '-' && s[i] != '.' && !(s[i] >= '0' && s[i] <= '9'))
21                     return false;
22 
23                 // '+' or '-' in the middle?
24                 if (i > 0 && (s[i] == '+' || s[i] == '-'))
25                     return false;
26 
27                 // more than two '.'?
28                 if (s[i] == '.' && dot > 0)
29                     return false;
30                 // count dot
31                 else if(s[i] == '.')
32                     dot++;
33             }
34 
35             return true;
36         }

代码分析:

  正如题目所说的,这里充满了讨论的空间,什么是valid number 什么不是,面试官说了算。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
寻找AppBar的C#实现发布时间:2022-07-10
下一篇:
C#异步调用的好处和方法发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap