首页 > 其他 > 详细

Valid Number

时间:2015-02-13 16:37:22      阅读:140      评论:0      收藏:0      [点我收藏+]

判断是否数字,考虑多种情况

class Solution{
public:
   bool isNumber(string s){
    int i = 0;
    while(s[i] == ' ') ++i;
    while(s[i] == '+' || s[i] == '-') ++i;
    bool exp = false, space = false, point = false, number = false;
    while(s[i] != '\0'){
      if(isdigit(s[i])){
        if(space) return false;
        else number = true;
      } else if(s[i] == '.'){
        if(!point && !space && !exp)
          point = true;
        else return false;
      } else if(s[i] == 'e'){
        if(!exp && number && !space){
          exp = true;
          number = false;
          while(s[i+1] == '+' || s[i+1] == '-') ++i;
        } else 
            return false;
      } else if(s[i] == ' '){
        if(!space) space = true;
      }
        else 
          return false;
        ++i;
    }
    return number;
   }
};


Valid Number

原文:http://blog.csdn.net/sina012345/article/details/43794727

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!