码迷,mamicode.com
首页 > 其他好文 > 详细

Valid Number

时间:2015-02-13 16:38:49      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:string   c++   算法   

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

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

标签:string   c++   算法   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!