Skip to content

Instantly share code, notes, and snippets.

@vrat28
Created May 15, 2021 22:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vrat28/60b839c5611882b8c7904b548742c8e8 to your computer and use it in GitHub Desktop.
Save vrat28/60b839c5611882b8c7904b548742c8e8 to your computer and use it in GitHub Desktop.
Valid Number (Java)
class Solution {
public boolean isNumber(String s) {
s = s.trim();
boolean pointPresent = false;
boolean ePresent = false;
boolean numberPresent = false;
boolean numberAfterE = true;
for(int i=0; i<s.length(); i++) {
if('0' <= s.charAt(i) && s.charAt(i) <= '9') {
numberPresent = true;
numberAfterE = true;
} else if(s.charAt(i) == '.') {
if(ePresent || pointPresent) {
return false;
}
pointPresent = true;
} else if(s.charAt(i) == 'e' || s.charAt(i) =='E') {
if(ePresent || !numberPresent) {
return false;
}
numberAfterE = false;
ePresent = true;
} else if(s.charAt(i) == '-' || s.charAt(i) == '+') {
if(i != 0 && s.charAt(i-1) != 'e') {
return false;
}
} else {
return false;
}
}
return numberPresent && numberAfterE;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment