Here, We see Valid Number LeetCode Solution. This Leetcode problem done in many programming language like C++, Java, JavaScript, Python etc. with different approaches.
List of all LeetCode Solution
![Valid Number LeetCode Solution](https://i0.wp.com/totheinnovation.com/wp-content/uploads/2024/02/LeetCode-Problem-Solution.png?resize=200%2C200&ssl=1)
Valid Number LeetCode Solution
Table of Contents
Problem Statement
A valid number can be split up into these components (in order):
- A decimal number or an integer.
- (Optional) An
'e'
or'E'
, followed by an integer.
A decimal number can be split up into these components (in order):
- (Optional) A sign character (either
'+'
or'-'
). - One of the following formats:
- One or more digits, followed by a dot
'.'
. - One or more digits, followed by a dot
'.'
, followed by one or more digits. - A dot
'.'
, followed by one or more digits.
- One or more digits, followed by a dot
An integer can be split up into these components (in order):
- (Optional) A sign character (either
'+'
or'-'
). - One or more digits.
For example, all the following are valid numbers: ["2", "0089", "-0.1", "+3.14", "4.", "-.9", "2e10", "-90E3", "3e+7", "+6e-1", "53.5e93", "-123.456e789"]
, while the following are not valid numbers: ["abc", "1a", "1e", "e3", "99e2.5", "--6", "-+3", "95a54e53"]
.
Given a string s
, return true
if s
is a valid number.
Example 1: Input: s = "0" Output: true Example 2: Input: s = "e" Output: false Example 3: Input: s = "." Output: false
Valid Number Leetcode Solution C++
class Solution {
public:
bool isNumber(string s) {
bool digitSeen=false, dotSeen=false, eSeen=false;
int plusMinus=0,n=s.length();
for(int i=0; i<n; i++)
{
if(s[i]-'0'>=0 && s[i]-'0'<=9)
digitSeen=true;
else if(s[i]=='+' || s[i]=='-')
{
if(plusMinus==2 || (i>0 && (s[i-1]!='e' && s[i-1]!='E')) || i==n-1) return false;
plusMinus++;
}
else if(s[i]=='e' || s[i]=='E')
{
if(eSeen || !digitSeen || i==n-1) return false;
eSeen=true;
}
else if(s[i]=='.')
{
if(eSeen || dotSeen || (i==n-1 && !digitSeen)) return false;
dotSeen=true;
}
else
return false;
}
return true;
}
};
Code language: PHP (php)
Valid Number Leetcode Solution Java
class Solution {
public boolean isNumber(String s) {
boolean num = false, exp = false, sign = false, dec = false;
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c >= '0' && c <= '9') num = true ;
else if (c == 'e' || c == 'E')
if (exp || !num) return false;
else {
exp = true;
sign = false;
num = false;
dec = false;
}
else if (c == '+' || c == '-')
if (sign || num || dec) return false;
else sign = true;
else if (c == '.')
if (dec || exp) return false;
else dec = true;
else return false;
}
return num;
}
}
Code language: JavaScript (javascript)
Valid Number Leetcode Solution JavaScript
var isNumber = function(s) {
let exp = false, sign = false, num = false, dec = false
for (let c of s)
if (c >= '0' && c <= '9') num = true
else if (c === 'e' || c === 'E')
if (exp || !num) return false
else exp = true, sign = false, num = false, dec = false
else if (c === '+' || c === '-')
if (sign || num || dec) return false
else sign = true
else if (c === '.')
if (dec || exp) return false
else dec = true
else return false
return num
};
Code language: JavaScript (javascript)
Valid Number Leetcode Solution Python
class Solution(object):
def isNumber(self, s):
try:
if 'inf' in s.lower() or s.isalpha():
return False
if float(s) or float(s) >= 0:
return True
except:
return False