Sponsored
Sponsored
A regular expression can be used to validate if a string is a valid number by matching patterns that define valid numbers. This pattern matches integers with optional signs, decimals, and scientific notation.
Time Complexity: O(n) due to scanning each character in the string.
Space Complexity: O(1) since we're using a fixed-size pattern.
1import re
2def isNumber(s: str) -> bool:
3 pattern = "^[\+-]?((\d+\.?|\.\d)\d*)([eE][\+-]?\d+)?$"
4 return re.match(pattern, s) is not None
5
6# Example usage
7print(isNumber("53.5e93")) # True
8print(isNumber("1a")) # False
Python's re
module makes regular expression matching straightforward. We use it to verify whether the input string fits valid numerical patterns.
This approach involves parsing the string based on its characters and their positions. By iterating through the string, the method confirms whether it forms a valid number pattern based on segment rules.
Time Complexity: O(n) where n is the length of the string.
Space Complexity: O(1) using variables to track state.
1#include
This solution iteratively traverses the characters, checking the rules of valid numbers such as digits, signs, dots, and exponents. It carefully handles different cases to validate the string.