zoukankan      html  css  js  c++  java
  • leetcode valid number

    细节很多,不是很容易做对

    class Solution {
    public:
        bool isNumber(const char *s) 
        {
            bool flag;
            while(*s==' ')
            s++;
            const char *s2=s+strlen(s)-1;
            while(*s2==' ')
            {
                s2--;
            }
            if(*s=='+'||*s=='-')s++; 
            const char *s1=s;
            int point=0;
            int e=0;
            int count=0;
            while(*s1!='\0'&&s1<=s2)
            {
              if(isdigit(*s1)){s1++;count++;}
              else if(*s1=='.'&&e==0){s1++;point++;}
              else if(*s1=='e'&&s1!=s&&count>=1)
              {
                  if(isdigit(*(s1+1)))
                  {s1=s1+2;e++;}
                  else if((s1+2<=s2)&&(*(s1+1)=='+'||*(s1+1)=='-'))
                  {s1=s1+2;e++;}
                  else return false;
              }
              else return false;
            }     
            if(point<=1&&e<=1&&count>=1)return true;
            else return false;
            return true;        
        }
    };
    
  • 相关阅读:
    学习进度条
    学术诚信与职业道德
    czxt
    操作系统
    04 17评论博客
    0414 结对 2.0 33 34
    0408 汉堡包
    (补)结对心得
    构建之法4读后感
    复利计算4.0
  • 原文地址:https://www.cnblogs.com/tgkx1054/p/3092693.html
Copyright © 2011-2022 走看看