Advertisement
nikunjsoni

65

May 15th, 2021
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.97 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     bool isNumber(string s) {
  4.         bool seenDigit = false;
  5.         bool seenExpo = false;
  6.         bool seenDot = false;
  7.        
  8.         for(int i=0; i<s.length(); i++){
  9.             char ch = s[i];
  10.             if(isdigit(ch)){
  11.                 seenDigit = true;
  12.             }
  13.             else if(ch == '+' || ch == '-'){
  14.                 if(i > 0 && s[i-1] != 'e' && s[i-1] != 'E'){
  15.                     return false;
  16.                 }
  17.             }
  18.             else if(ch == 'e' || ch == 'E'){
  19.                 if(seenExpo || !seenDigit){
  20.                     return false;
  21.                 }
  22.                 seenExpo = true;
  23.                 seenDigit = false;
  24.             }
  25.             else if(ch == '.'){
  26.                 if(seenExpo || seenDot)
  27.                     return false;
  28.                 seenDot = true;
  29.             }
  30.             else{
  31.                 return false;
  32.             }
  33.         }
  34.         return seenDigit;
  35.     }
  36. };
  37.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement